问题标签 [djcelery]

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 投票
1 回答
214 浏览

apache - Celery 不会在 Amazon Linux AMI 2013.03.1 上自动启动

每次启动我的 Amazon Linux AMI 2013.03.1 机器时,我似乎都无法自动启动位于 /etc/init.d/celeryd 中的 celeryd 脚本。我必须自动执行 /etc/init.d/celeryd start 。但是,它可以完美启动并立即工作。

有任何想法吗?我试过了

sudo chkconfig /etc/init.d/celeryd on

0 投票
2 回答
628 浏览

django - Django+celery:如何在 Web 服务器上显示工作日志

我将 Django+celery 用于我的第一个 Web 开发项目,并使用 rabbitmq 作为代理。我的 celery 工作人员在与 Web 服务器不同的系统上运行,并且正在执行长时间运行的任务。在任务执行期间,任务输出将被转储到工作人员的本地日志文件中。我想通过网络服务器显示这些任务日志文件,以便用户可以实时知道执行在哪里,但我不知道我应该如何在工作人员和网络所在的系统之间传输这些日志文件服务器是。任何建议表示赞赏。

0 投票
1 回答
2131 浏览

django - 从 Django 中获取 Celery 任务名称

我有一个使用 Celery 3.0.23 和 RabbitMQ 3.1.5 的 Django 1.5.1 webapp。
从我的后端读取 TaskMeta 信息时使用

我无法读取任务名称(通常是方法名称)。它不存储在数据库中。有没有办法存储任务名称或在运行时检索它?

如果没有,我已经在考虑将它存储在元属性中,但这意味着我必须手动调用update_state我创建的每个任务。这对我来说看起来有点笨拙。

0 投票
0 回答
536 浏览

python - 如何编写自定义装饰器,将参数正确传递给 celery 任务?

背景和问题

我正在使用 Django 1.5.1 和 django-celery 3.0.17。我想编写一个自定义装饰器,以确保一次只运行一个函数实例,与类似,但没有所有重复的 try/finally。

我怎样才能编写一个装饰器,以便 Celery 方法喜欢apply并且delay可以用参数调用?

其他人创造了这样的装饰器并取得了明显的成功。我错过了什么?

实现

我已经尝试将装饰器编写为一个函数和一个类,但是对于任何一种实现,当尝试用我的装饰器和 来装饰一个函数时@celery.task,参数都不会传递给被装饰的函数,从而导致错误消息:

TypeError: foo() takes exactly 1 argument (0 given),其中foo是修饰函数的名称。

功能实现

基于类的实现

测试用例

对于这两种实现,第一个测试方法成功,第二个失败。

0 投票
0 回答
437 浏览

django - 芹菜工人在使用 Django 作为代理和结果后端时引发 ImportError

我想在我的开发机器上运行 celery,将 django 作为代理和结果后端(使用 djcelery)。我遵循了 celery 文档中的入门说明,但是当我运行命令时:

我在我的控制台上得到了这个堆栈跟踪。它说 django 设置模块无法加载,但我现在不知道为什么。

我正在使用 celery 3.1.4、djcelery 3.1.1 和 Django 1.6。

0 投票
1 回答
258 浏览

django - 使用 update_state 时 Celery 任务返回错误

我有一个 celery 任务,它在运行时多次更新它的状态:

当此任务返回时:

我得到的返回值:

只是对象的 id 作为字符串,而不是腌制对象本身。

如果我删除 update_state 语句,我会在任务的元 (AsyncResult.result) 中得到正确的腌制对象

如何使用 update_state 并获得相同的返回值(腌制对象)?

0 投票
2 回答
1544 浏览

python - Django & Celery 使用 manage.py

我正在使用 Django 1.6 和 Celery 3.1.1

回到需要 django-celery 应用程序时,我似乎没有问题。使用运行 celery 的新方法,我可以让它工作,但我似乎无法让 celerycam 工作。

如果尝试运行,./manage.py celeryd -B -E我会收到以下错误:

消费者:无法连接到 amqp://guest@127.0.0.1:5672//:[Errno 111] 连接被拒绝。

它完全忽略了我在 settings.py 中的 BROKER_URL。我已经设置了文档中描述的 celery.py 文件这一切似乎都有效。

现在我想运行 celerycam,据我所知,它仍然需要 django-celery。当我尝试运行 celerycam ( ./manage.py celerycam) 时,出现以下错误:

socket.error: [Errno 111] 连接被拒绝

我认为这与我尝试从 manage.py 调用 celeryd 时遇到错误的原因相同 - 因为它没有读取我的 settings.py 文件。有人知道我如何让 django-celery 读取我的BROKER_URL设置吗?

0 投票
1 回答
964 浏览

python - 导入 djcelery 出现错误

导入djcelery时出现以下错误。有没有其他安装方法?

0 投票
1 回答
252 浏览

python - 当前版本的 celery 和 django-celery 似乎不兼容

所以我目前已经安装了 Celery 3.1.8 (Ciper) 和 Djcelery 3.1.1 但是按照教程会导致我的网站崩溃

所以本教程 http://docs.celeryproject.org/en/master/django/first-steps-with-django.html#django-first-steps

我非常关注,但是当我尝试在settings.py中使用这一行导入 django-celery 时

我收到服务器错误。查看它说的错误日志

我不知道如何继续前进。该导入实际上是导致问题的原因,我需要使用 djcelery 来利用 Django 后端的东西

编辑:

我知道大多数事情不需要 djcelery,但在 3.1 的发行说明中它说 http://docs.celeryproject.org/en/master/whatsnew-3.1.html#django-supported-out-of -盒子

一些功能仍然需要 django-celery 库:

我想用我的数据库作为后端

0 投票
2 回答
3529 浏览

python - 在 DB-Django 中保存 Celery 任务

我指的是Django Celery文档。

正如文件所说celery.py,我在我的创建。proj/proj然后包括__init__.py

芹菜.py

__init__.py

我安装pip install django-celery,然后迁移python manage.py migrate djcelery 它在我的数据库中创建了一些表。

任务.py

在那之后,我把我的任务称为我的观点

但是没有任何东西登录到我的任何表中。

我已经阅读了关于 SO、Thread1Thread2以及更多关于这些线程的线程,但没有任何反应。

它为我提供了任务的 ID 和状态,但我如何将任务保存在数据库中?通常它应该登录celery_taskmeta,但那里什么都没有。

虽然任务得到执行,但我也想将任务保存在数据库中。我该怎么做?有什么我想念的吗?