芹菜结果禁用?

Posted

技术标签:

【中文标题】芹菜结果禁用?【英文标题】:Celery result disabled? 【发布时间】:2014-06-22 06:32:58 【问题描述】:

我正在玩带有 celery 教程的演示案例。但是,当我启动任务应用程序时,结果显示为禁用。如下。有什么想法吗?

celery --app=plmtcheck worker -l info

Then I see: 
- ** ---------- .> app:         plmtcheck:0x7f9fd2fdf160
- ** ---------- .> transport:   amqp://guest@localhost:5672//
- ** ---------- .> results:     disabled

I have seen the result is ready.

[2014-05-05 16:16:55,382: INFO/MainProcess] Connected to amqp://guest@127.0.0.1:5672//
[2014-05-05 16:16:55,389: INFO/MainProcess] mingle: searching for neighbors
[2014-05-05 16:16:56,401: INFO/MainProcess] mingle: all alone
[2014-05-05 16:16:56,422: WARNING/MainProcess] celery@D-NYC-00552088-Linux ready.
[2014-05-05 16:17:27,726: INFO/MainProcess] Received task: plmtcheck.add[7ea5a501-1085-48b7-8f7e-dac8ac2c5377]
[2014-05-05 16:17:27,759: INFO/MainProcess] Task plmtcheck.add[7ea5a501-1085-48b7-8f7e-dac8ac2c5377] succeeded in 0.032166894000056345s: 37

我的代码很简单

from celery import Celery
app = Celery('plmtcheck', backend='amqp', broker='amqp://')

@app.task
def add(x, y): 
    return x + y

if __name__ == '__main__':
    app.worker_main()

【问题讨论】:

原来消息什么都没有。重新加载任务模块后,我可以从客户端获取结果状态和结果值 我也遇到了残疾人问题。在 MacOS 上运行良好,但是,当我在 VM 上尝试它时它不起作用,并且结果被禁用。不完全确定您所说的重新加载任务模块是什么意思 从 celeryconfig.py 读取时,我的结果被禁用。以下工作。 app = Celery('tasks', backend='rpc://', broker='amqp://localhost') 。配置文件读取肯定有问题。 【参考方案1】:

安装 django-celery-results 包,然后将其添加到 settings.py 中

INSTALLED_APPS = [
...
'django_celery_results',
...
]

这会做你想做的事

【讨论】:

以上是关于芹菜结果禁用?的主要内容,如果未能解决你的问题,请参考以下文章

禁用八卦、交际和心跳对芹菜工人有啥后果?

暂时禁用芹菜中的分布式处理

禁用 SQL2008 结果集中的消息

如何在 Redshift Query 中禁用使用缓存结果?

为啥在 Oracle 11g 中总是禁用结果缓存

php 找到1个结果时禁用搜索重定向