Skip to content
This repository was archived by the owner on Aug 10, 2024. It is now read-only.

Commit 83b333a

Browse files
committed
feat: improve celery stability
1 parent d2abb22 commit 83b333a

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

app/views/views.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import logging
33

44
from celery.exceptions import TimeoutError
5-
from celery.result import AsyncResult
5+
# from celery.result import AsyncResult
66
from celery.states import FAILURE, PENDING, SUCCESS
77
from django.contrib.auth.decorators import login_required
88
from django.core import serializers
@@ -26,6 +26,7 @@
2626
from app.worker.tasks import receiptor
2727
from app.worker.tasks.exporter import exporter
2828
from app.worker.tasks.importers import historical_data_importer
29+
from reboot.celery import app
2930

3031
logger = logging.getLogger(__name__)
3132

@@ -121,8 +122,9 @@ def poll_state(request: HttpRequest):
121122
request=request,
122123
err_msg="The task_id query parameter of the request was omitted.")
123124

124-
task = AsyncResult(task_id)
125+
task = app.AsyncResult(task_id)
125126
res = JsonResponse(_poll_state(PENDING, 0, 200))
127+
print(f"!!! task id={task_id},state={task.state},successful={task.successful()},ready={task.ready()},failed={task.failed()}")
126128
if task.state == FAILURE or task.failed():
127129
res = JsonResponse(_poll_state(FAILURE, 0, 400))
128130
elif task.state == PROGRESS:
@@ -146,8 +148,8 @@ def download_file(request: HttpRequest):
146148
while (attempts < ATTEMPT_LIMIT):
147149
try:
148150
attempts += 1
149-
task = AsyncResult(task_id)
150-
result = task.get(timeout=0.5 * attempts)
151+
task = app.AsyncResult(task_id)
152+
result = task.get(timeout=1.0 * attempts)
151153
print(f"{task} {task_name} success #{attempts}: {result}")
152154
break
153155
except TimeoutError:

0 commit comments

Comments
 (0)