1
asyncioを使用してdjangoでn秒ごとにタスクを実行すると、メインプロセスはブロックされません。 Djangoはループの実行中に作業を停止することを思わasyncioを使ってdjangoの定期的なタスクを実行する
import asyncio
from random import randint
async def do_stuff(something, howmany):
for i in range(howmany):
print('We are doing {}'.format(something))
await asyncio.sleep(randint(0, 5))
if __name__ == '__main__':
loop = asyncio.get_event_loop()
work = [
asyncio.ensure_future(do_stuff('something', 5)),
]
loop.run_until_complete(asyncio.gather(*work))
:のように、コンソールに5分ごとに印刷し例えば
何か。これが開発の際に働くことができたとしても、サイトがapacheやgunicornのようなもので生きていくとどうなるでしょうか?
代わりにマルチプロセッシングを使用することはできますか? – Mikael