Untitled
unknown
python
2 years ago
1.3 kB
20
Indexable
def foo(): # тут может быть запрос в базу/api time.sleep(1) return {"result": True} @app.task(bind=True) def debug_task(self): start = datetime.datetime.now().timestamp() for i in range(10): foo() result = f"working time {datetime.datetime.now().timestamp() - start}" print(result) >> [2022-11-20 11:31:13,899: WARNING/ForkPoolWorker-4] working time 10.01050615310669 from celery import group @app.task() def foo(): # тут может быть запрос в базу/api time.sleep(1) return {"result": True} @app.task(bind=True) def debug_task(self): start = datetime.datetime.now().timestamp() # тут создаём группу из тасок, которые будут выполняться воркерами параллельно job = group(foo.s() for i in range(10)) result = job.apply_async() result.ready() print(result.get()) print(datetime.datetime.now().timestamp() - start) >> [{'result': True}, {'result': True}, {'result': True}, {'result': True}, {'result': True}, {'result': True}, {'result': True}, {'result': True}, {'result': True}, {'result': True}] >> 3.585052013397217
Editor is loading...