Как вы думаете, можно ли использовать asyncio для запуска задачи каждые n секунд в django, чтобы основной процесс не блокировался?
Что-то, например, что будет печатать каждые 5 минут в консоли, например:
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))
Кажется, что django перестанет работать во время выполнения цикла. Даже если это можно заставить работать в разработке, как он поведет себя, когда сайт заработает на чем-то вроде apache или gunicorn?