Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 仅当所有任务完成时,才会保存任务结果_Python_Django_Redis_Celery_Django Celery - Fatal编程技术网

Python 仅当所有任务完成时,才会保存任务结果

Python 仅当所有任务完成时,才会保存任务结果,python,django,redis,celery,django-celery,Python,Django,Redis,Celery,Django Celery,我想监视/报告任务状态,但只有在所有任务完成后,才会保存任务。我希望它们一开始就被保存。 ''在我的队列项目内'' 芹菜 from __future__ import absolute_import, unicode_literals import os from celery import Celery os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Queue.settings') app = Celery('Queue', br

我想监视/报告任务状态,但只有在所有任务完成后,才会保存任务。我希望它们一开始就被保存。

''在我的队列项目内'' 芹菜

from __future__ import absolute_import, unicode_literals
import os
from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Queue.settings')
app = Celery('Queue',
    broker='redis://localhost:6379',
    backend='django-db',
    task_track_started=True,
    include=['index.tasks'])
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
内置“索引”应用程序 tasks.py

views.py

def index(request):
    gozle.delay()
    return HttpResponse('<a href="admin/">admin</a>')
def索引(请求):
gozle.delay()
返回HttpResponse(“”)

我希望当我访问索引页面时,我的任务会被触发并记录到ResultTask中,但它会等待15秒然后被记录。

应该立即确认任务的开始,您应该在芹菜服务器中看到一个日志条目,上面写着
gozle
任务已启动,然后等待15秒并将退出,此退出状态也将出现在服务器日志中。如果不是这样的话,可能与
task\u acks\u late
芹菜
配置中启用有关,这里是,使其仅在任务结束后确认任务。

它是立即确认的,但在任务完成之前不会保存在数据库中。因此,我无法获得有关其状态的信息。
def index(request):
    gozle.delay()
    return HttpResponse('<a href="admin/">admin</a>')