1
是否有任何pythonic方式來獲取當前登錄的django用戶的所有正在運行/掛起的芹菜任務?僞代碼爲我正在嘗試:django獲取當前django用戶的所有正在運行/掛起的芹菜任務
@celery.task
def process_task(user, task_to_do):
#get all running or pending(queued) task for current user
user_tasks = user.get_task(status=PENDING or status=STARTED)
if not user_task:
#allow user to schedule additional task
process....
else:
return "Your previous tasks is already running"
這是真的。讓我解釋我是如何做到的。我的應用程序也管理自定義任務狀態,所以我決定將任務狀態存儲到數據庫可能是更好的選擇。 (我創建了一個名爲TaskUser的模型) is_task_in_progress = False for Task in TaskUser.objects.filter(user = map.owner).exclude(status ='SUCCESS').exclusion(status =「FAILURE」)。all ): celery_job = current_app.AsyncResult(task.task_id) if celery_job.ready(): ... else: is_task_in_progress = True –