问题标签 [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.

0 投票
2 回答
7334 浏览

django - 在数据库中为每个 celery 任务存储一个任务 ID

我用 celery 和MySQL. 我想将任务 id 作为普通整数存储在数据库或 celery 变量中task。我怎样才能做到这一点?

0 投票
3 回答
6851 浏览

python - Python Celery socket.error: [Errno 61] Connection refused

I am using Celery 3.0 and have the configuration file like below.

celeryconfig.py

tasks.py

and function.py

I run the application with following command

Everything is working great till now. I have redis and celery running and getting answers.

But when I run the function command from another file called parallelizer,

I get the socket error,

My file is like below,

Any ideas ?

0 投票
0 回答
534 浏览

django - 无法使用 Django 1.5、django-celery 3.0.11 和 mongodb 对任务进行排队

每个人。当我从 django shell 运行以下代码时,我Django==1.5遇到django-celery==3.0.11 了问题 error: [Errno 61] Connection refused

设置.py

data_warehouse.tasks(从教程复制)

当我运行 python manage.py celery worker -l info 我得到

当我尝试使用带有此代码的 python shell 运行任务时

我得到这个预期的错误。

问题可能来自 Celery 实例没有调用正确的代理 url,但我还没有弄清楚。你对此有什么想法吗?

解决了!!只需添加

到 settings.py

0 投票
0 回答
878 浏览

celery - 访问 celery 任务导致组内链

我的芹菜工作流程是:

当我开始时group3,一切都很好:所有任务都以我需要的“依赖”执行。这些任务执行一些操作,然后返回一个布尔值。我想检查每项任务的结果。不幸的是,我无法检索所有结果:

返回:

元组类似于:

我不能像连锁结果一样处理它。如果我用 id 创建一个 asyncresult 8a8b7c2c-db44-4096-ba29-93ad2cd63409,我只能访问组中子任务的结果(即:我得到task1结果task2,但没有办法得到task3结果)。

这种方法非常复杂,但我在 celery 文档中找不到特定的东西,在那里我找到了检索简单组/链结果的所有方法。

鉴于我真的了解工作流程,访问所有结果的最佳方式是什么?

0 投票
2 回答
905 浏览

python - 难以在 Celery 中更改 Python 方法签名

这可能是一个明显的船长风格的问题,但我觉得我错过了一些东西。

我继承了一个创建 Celery 任务的 Python WSGI 应用程序。看起来像这样:

process_request方法如下所示:

以上所有工作。我尝试向 process_request 添加时间戳,因此调用如下所示:

我将process_request方法更改为:

那没有用。未处理请求。我检查了我的 celeryd 日志文件,发现了这个:

我不知道我做错了什么。有人有想法么?

0 投票
1 回答
742 浏览

celery - 在给定时间点执行的 celery 任务数

我正在尝试动态地异步创建一堆芹菜任务。假设我异步启动了 1000 个任务,而我只有一个 celeryd 进程正在运行来执行任务。celery 会创建多少个线程来处理这些任务?

如果 celery 自动启动多个线程来处理任务队列,我如何限制 celery 在给定时间点仅执行 100 个线程。

谢谢。

0 投票
1 回答
1035 浏览

python - 让 Celery 广播所有工作人员的返回结果

有没有办法从芹菜广播任务的每个工人那里获得所有结果?我想监控所有工人是否一切正常。将任务发送到的工人列表也将不胜感激。

0 投票
2 回答
2847 浏览

python - 芹菜工人迷路了

我们的部署过程使用终止进程列表中的所有 celery 进程来重新启动 celery。

有时我会在芹菜原木中看到“工人丢失”。如果发生这种情况时任务正在运行,该任务会重新运行还是会丢失?我们正在使用redis。

0 投票
1 回答
397 浏览

celery - 芹菜中未注册的任务

任务.py:

启动工人后,我尝试了http调度程序:

并出现错误,例如 [2013-04-03 06:39:54,791: ERROR/MainProcess] 收到 u'celery.task.http.HttpDispatchTask' 类型的未注册任务。该消息已被忽略并丢弃。

你记得导入包含这个任务的模块吗?或者,也许您正在使用相对进口?更多:http ://docs.celeryq.org/en/latest/userguide/tasks.html#names

邮件正文的完整内容是: {u'utc': True, u'chord': None, u'args': [u'http://localhost/add', u'GET'], u'retries': 0, u'expires': None, u'task': u'celery.task.http.HttpDispatchTask', u'callbacks': None, u'errbacks': None, u'taskset': None, u'kwargs': {u'y': 10, u'x': 10}, u'eta': None, u'id': u'29f83cc9-ba5a-4008-9d2d-6f7bb24b0cfc'} (288b)

回溯(最近一次通话最后): File "/usr/local/gdp/python2.7.2/lib/python2.7/site-packages/celery-3.0.13-py2.7.egg/celery/worker/consumer.py", line 435, in on_task_received strategies[name](message, body, message.ack_log_error) KeyError: u'celery.task.http.HttpDispatchTask'

0 投票
1 回答
1467 浏览

celery - 将生成的列表映射到芹菜中的任务的最佳方法

我正在寻找一些关于将任务生成的列表映射到芹菜中的另一个任务的最佳方法的建议。

假设我有一个名为 的任务parse,它解析 PDF 文档并输出页面列表。然后,每个页面都需要单独传递给另一个名为feed. 这一切都需要进入一个名为process

所以,我可以这样做的一种方法是:

当然,这不是一个好主意,因为我get()在任务内部调用。

此外,这是低效的,因为我的parse任务是围绕生成器函数进行的,并且能够产生页面,这意味着应该可以在解析器产生最后一页之前将第一页排队以供馈送

另一种可能性是这样做:

get()该示例仍然涉及在任务内部调用。此外,这个例子过于简单化了,我真的需要在所有页面都被输入之后做一些事情(即在 a 中chord)。

我正在寻找在芹菜中做到这一点的最佳方法。我会很感激任何建议。

谢谢!