Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
Django 芹菜任务更新_Django_Celery - Fatal编程技术网

Django 芹菜任务更新

Django 芹菜任务更新,django,celery,Django,Celery,我正在调查芹菜在长时间运行任务方面的功能,用户希望观察进度。该应用程序基于Django,任务通过RPC启动,并涉及将数据库与文件系统上的文件同步 在任务中,我希望登录到几个级别(警告、错误、信息等),我还希望用户根据日志级别过滤消息,因此我想登录到我的数据库是可行的 我的问题是: 是否建议登录到Django应用程序使用的同一数据库 如何设置芹菜以使用Pythons标准日志模块登录数据库 为什么不用当前状态更新任务,并使用任务id进行查询。这样,您就可以透明地使用已配置的后端,而不是重载数据库

我正在调查芹菜在长时间运行任务方面的功能,用户希望观察进度。该应用程序基于Django,任务通过RPC启动,并涉及将数据库与文件系统上的文件同步

在任务中,我希望登录到几个级别(警告、错误、信息等),我还希望用户根据日志级别过滤消息,因此我想登录到我的数据库是可行的

我的问题是:

  • 是否建议登录到Django应用程序使用的同一数据库
  • 如何设置芹菜以使用Pythons标准日志模块登录数据库

为什么不用当前状态更新任务,并使用任务id进行查询。这样,您就可以透明地使用已配置的后端,而不是重载数据库

Ask解释了技术

然后您只需使用AsyncTask结果:

result = YourTaskObject.AsyncResult(task_id=task_id)
if not result.ready():
    progress = result.result.percent_done
else:
    ...

您的方法肯定很有趣,因为它不涉及任何数据库/文件,只需要后端。我将进一步调查它。它使用您配置的任何后端。这可能是您的数据库,也可能是rabbitmq、redis或mongodb。
result = YourTaskObject.AsyncResult(task_id=task_id)
if not result.ready():
    progress = result.result.percent_done
else:
    ...