问题标签 [celery-task]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Celery chain breaks if one of the tasks fail
What is the point of Celery chain if the whole chain breaks if one of the tasks fail?!!
I have this Celery chain:
And I made workme2 fails with retries like this:
celery - 芹菜子任务得到最终结果
当我尝试在Celery
文档中使用add
方法 with的示例时subtask
,我无法获得最终结果。
当我调用任务时;
可以看出,它返回3
而不是8
.
当我运行这些部分时,工作人员出现错误。我不知道为什么会这样。
我应该怎么做才能从结果中得到 8?
谢谢你!
python - 芹菜停止执行链
我有一个定期执行的 check_orders 任务。它创建一组任务,以便我可以计算执行任务所花费的时间,并在它们全部完成后执行某些操作(这是 res.join [1] 和 grouped_subs 的目的)分组的任务是成对的链式任务。
我想要的是当第一个任务不满足条件(失败)时不执行链中的第二个任务。我一生都无法弄清楚这一点,我觉得这对于作业队列管理器来说是非常基本的功能。当我尝试我在 [2] 之后注释掉的东西时(引发异常,删除回调)......我们由于某种原因卡在 check_orders 中的 join() 上(它破坏了组)。对于所有这些任务,我也尝试将 ignore_result 设置为 False,但它仍然不起作用。
celery - 芹菜多没有按预期工作
我有这个我的项目文件夹结构
tasks 有一个名为ExamineColumns
我使用启动工人celery worker -A api.jobs --loglevel=Info
它工作正常,我可以运行任务。
这是 celery 检查命令的输出
但是当我尝试多模式时,它根本不起作用。我试图通过跑步来跑步
但它根本没有开始。
我不确定为什么它不起作用
python - 在 celery 中,如何获取特定任务名称的所有任务的任务状态?
在celery中,我想获取特定任务名称的所有任务的任务状态。对于尝试下面的代码。
现在我在这段代码中得到了空列表。
python - Celery 只更新一个字段
我想创建任务来更新排名。
设置.py
我使用 django 工人python manage.py celery worker --loglevel=info
任务:
视图部分:
该字段rank_number
已完美更新,但rank_trend
没有!?这在某些时候可能是微小而明显的错误。但我坐在第 5 个小时,什么也没有。当我在没有芹菜的视图上运行代码时,代码可以正常工作。请帮忙。
编辑 19:30(任务输出)
在上面日志的第 7 行中有Trend: True
. 但是在管理面板和视图中是 False。这很奇怪,但我不认识 Celery。
编辑 20:00
有时十分之一的尝试确实有效。我一直在尝试 50 次,但不知道为什么?我找不到任何合乎逻辑的解释。我认为设置可能有问题。
编辑 21:51
更新了任务输出。在任务开始时添加rank_number
了日志。
编辑 21:56 在绝望中我补充说:
在视图上的任务调用之后。现在正在工作。捏我一个人!或者解释一下。
编辑 22:07
编辑 22:17(当您阅读所有内容时,Scope == Duck)对于帖子中的不一致感到抱歉。
celery 任务被调用post_add_support()
celery - 芹菜任务链/工人释放
如果我编写一个调用其他 celery 任务的 celery 任务,我可以释放父任务/worker 而不等待下游任务完成吗?
情况: 我正在使用一个 API,它返回一些数据和下一个 API 调用的参数。我想将 API 背后的所有数据放入数据库中。我目前的方法是查询要处理的批处理的API,启动一些下游处理器,然后递归地重新调用API+处理链。我担心当工人不关心他们孩子的结果时,这会锁定工人等待所有递归 API 调用完成。
伪代码:
我从这里了解到,上述情况非常接近于糟糕;在处理 API 中的所有数据之前,我不希望处理 processList() 的工作人员被锁定。有没有办法启动下游任务并释放父工人,或者重构上述不锁定工人?
测试表明,工人实际上是这样锁定的:
python - 芹菜工人错误:ImportError no module named celery
尝试启动 celery worker 时出现导入错误。我不确定问题是什么。任何帮助将不胜感激。
我的项目:
我尝试通过调用来运行应用程序:
我已经按照这里的所有步骤 - http://docs.celeryproject.org/en/latest/getting-started/next-steps.html#about-the-app-argument
追溯:
这是我的 celery.py
django - 如何在 django 上进行测试时禁用 celery 任务
我试图测试一些功能,包括调用 celery 任务。这些任务涉及调用 3rd 方网站,我需要在测试期间避免它。
知道如何在测试期间禁用所有 celery 任务吗?
python - 芹菜中的导入错误
这是我正在运行的代码:
当我执行上面的代码时,它给了我以下错误: