我想知道为什么 celery 链与临时解决方案相比如此缓慢。 在临时解决方案中,我手动转发任务,缺点是我不能等待链的末端。 在以下代码中,canvas 解决方案需要 16 秒,ad hoc 需要 3 秒。 想知道与简单的解决方案相比,其他画布的东西是否也很慢。 编辑:我认为我们得到了这样的东 ...
我想知道为什么 celery 链与临时解决方案相比如此缓慢。 在临时解决方案中,我手动转发任务,缺点是我不能等待链的末端。 在以下代码中,canvas 解决方案需要 16 秒,ad hoc 需要 3 秒。 想知道与简单的解决方案相比,其他画布的东西是否也很慢。 编辑:我认为我们得到了这样的东 ...
Celery 画布在异步和急切模式下的工作方式存在一些差异。 我注意到在动态任务中跟随一个链的组不会将结果发送到链上的下一个。 好吧,这看起来很复杂,让我举个例子: 给定以下任务: 当它像这样在另一个画布中分组时: 在急切模式下,任务amul将不会收到来自 grouped 的结果。 ...
我有一个有趣的问题,试图克隆一个供组使用的芹菜链,我的预期用例是group([chain.clone(args=args) for args in it])但是它一直抱怨没有足够的参数。 我用下面的方法分解了这个 在名为tasks.py的文件中 然后从python shell ...
我有一个芹菜工人要执行的任务。 任务完成后,链将该任务的结果作为(位置)参数转发给下一个任务。 每个任务都有自己的参数+ * args来处理结转的参数。 问题是我想将关键字参数用作任务的参数,但是那些结转参数只是位置参数。 以下代码只是一个简单的示例,用于显示我的问题而不使用芹菜链: ...
以下芹菜工作流遇到一些非常奇怪的行为: 这是在django的背景下。 当我按如下方式调用工作流程时: workflow.apply_async((n,)) ...对于n的任意整数值,在每个链(第一任务task1和task3 )将失败,并像一个TypeError以下(取自 ...
如何使用关键字参数分块任务? 例如,这个任务: 我可以像往常一样使用add.apply_async(args=(1, 2), kwargs={'unit': 'MB'})来调用这个任务,但是我该如何分块呢? 我想做类似的事情: 该文档仅展示了如何使用带有位置参数的块: ...
我们正在使用 Celery 实施工作流程。 首先我们需要并行运行一些任务,当它们都完成后,我们需要运行一个任务。 似乎我们可以使用和弦,或组和链: 对比 这两者之间的确切区别是什么? 他们似乎在做同样的事情。 ...
我想在链中调用任务时使用celery.signature()。set()方法更改任务的配置。 这是我的任务 这就是我期望如何称呼连锁店 这可能吗? 可以像这样设置其他与任务相关的配置,例如队列。 如何在我的抽象基类中公开此行为? ...