[Bugfix] 修复小bug

pull/1171/head
ibuler 2018-04-04 13:03:36 +08:00
parent d966e22cf9
commit 1d7ba3e204
1 changed files with 10 additions and 0 deletions

View File

@ -3,6 +3,7 @@
import os import os
import datetime import datetime
import sys import sys
import time
from django.conf import settings from django.conf import settings
from django.utils import timezone from django.utils import timezone
@ -53,10 +54,19 @@ def after_task_publish_signal_handler(sender, headers=None, **kwargs):
CeleryTask.objects.create( CeleryTask.objects.create(
id=headers["id"], status=CeleryTask.WAITING, name=headers["task"] id=headers["id"], status=CeleryTask.WAITING, name=headers["task"]
) )
cache.set(headers["id"], True, 3600)
@task_prerun.connect @task_prerun.connect
def pre_run_task_signal_handler(sender, task_id=None, task=None, **kwargs): def pre_run_task_signal_handler(sender, task_id=None, task=None, **kwargs):
time.sleep(0.1)
for i in range(5):
if cache.get(task_id, False):
break
else:
time.sleep(0.1)
continue
t = get_object_or_none(CeleryTask, id=task_id) t = get_object_or_none(CeleryTask, id=task_id)
if t is None: if t is None:
logger.warn("Not get the task: {}".format(task_id)) logger.warn("Not get the task: {}".format(task_id))