问题标签 [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 投票
2 回答
3082 浏览

django - Celery, Django, Heroku -- ImportError: No module named tasks

我正在尝试使用 IronMQ 运行 celery 并缓存在 Heroku 上的 Django 项目中,但我收到以下信息:

我究竟做错了什么?以下是我的相关代码,djcelery 和我的应用程序都在已安装的应用程序中:

要求(Rabbit AMQP 在那里,因为我在 IronMQ 之前尝试过):

简介:

设置:

任务:

意见:

还尝试过(在视图中):

并尝试过(在视图中):

这也是我的结构:

0 投票
0 回答
710 浏览

python - Django celery 自定义定期任务未执行

我尝试使用此代码尝试动态添加/删除计划任务。

我的 tasks.py 文件如下所示:

问题是这些任务实际上并没有执行(即没有日志输出),我在我的 celery 日志文件中收到以下消息,完全按计划进行:

我可以肯定地确认记录器配置正确并且工作正常。如果我尝试result = mytask.delay()在交互式 shell 中调用,result.state将无限期包含 state PENDING

编辑:另见Django Celery Periodic Tasks Run But RabbitMQ Queues are not Consumed

0 投票
2 回答
1828 浏览

python - 芹菜节拍队列包括过时的任务

我在 Django 中使用定期 celery 任务。我曾经在我的 app/tasks.py 文件中有以下任务:

但是现在这个任务已经从我的 app/tasks.py 文件中删除了。但是,我一直在我的 celery 日志中看到对这个任务的调用:

我使用的 celery beat 调度程序似乎没有更新它的队列。这是我的 project/settings.py 文件中定义调度程序的方式:

重新启动芹菜工人没有帮助。仅供参考,我使用 Redis 代理。

如何清除或更新 celery beat 队列,以便不将较旧的任务发送给我的 celery worker?

0 投票
1 回答
563 浏览

django - 即使删除任务后 Djcelery 任务仍然安排

我已经安排了一个使用 django celery (djcelery) 的任务,方法是这样定义:

我决定从代码库中删除这个任务。

但是,即使重新启动 celery 服务器后,该任务仍会继续每 1 分钟安排一次,尽管由于该任务不再存在,因此它会报告错误消息。除了重新启动服务器之外,我是否必须做一些事情来从 djcelery 数据库中清除旧的定期任务?

0 投票
1 回答
77 浏览

celery - 如何在芹菜中每个块的执行结束时调用任务?

我正在尝试在完成大量任务时更新一些汇总数据。它基本上是在块的末尾实现和弦的概念。我该如何实施?

0 投票
1 回答
4309 浏览

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:

0 投票
3 回答
1733 浏览

django - Django:djcelery Import error from celery import current_app as celery in virtualenv

好的,所以我已经尝试了我和谷歌可以提出的一切。我正在尝试在我的 Macbook Pro OSX 10.8.4 上的 virtualenv 下运行 django-celery。我在激活 virtualenv 时使用 pip 安装了 django-celery。在 virtualenv python 中导入 djcelery 时,我得到以下信息。

我试图启动一个完全干净的 virtualenv,但似乎仍然出现同样的错误。我已经尝试升级模块并拥有。

这也是我的 pip freeze 包的列表。

任何帮助将不胜感激!!

0 投票
0 回答
661 浏览

django - Celery 每年一次的 crontab 每秒执行一次任务

我正试图让一个任务在 1 月 1 日结束时运行。所以,我写了这个:

使用 crontab,我看到这个任务每秒都在运行。如果我将小时的值更改为 0,我看不到它执行(可能是因为它不是正确的时间)。有没有其他人观察到这种行为?我错过了一些基本的东西吗?

编辑:我再次检查。month_of_year如果我按照上面的建议进行更改(不是) ,似乎行为会发生变化hour。需要明确的是,如果配置了 crontab,day_of_month=31, month_of_year=12, hour=0, minute=49它似乎可以工作(即,我看不到任务每秒都在运行)。如果配置了 crontab,day_of_month=31, month_of_year=1, hour=0, minute=49它就不起作用(即,我看到任务每秒都在运行)。很奇怪...

0 投票
1 回答
1123 浏览

django - Djcelery 强制使用“数据库”后端,如何正确绕过它?

在我的 Django 项目中,我根本不使用 SQL 数据库,我的主要数据存储是 MongoDB,通过mongoengine

我想将 Celery 设置为使用 Redis 作为代理和后端。我安装了django-celery-with-redis,安装了 Redis (本地和生产中),并尝试在我的 settings.py 中使用以下内容:

但是,当我运行 celery 进程并收到要处理的任务时,在返回结果时,它抱怨 settings.DATABASES 配置不正确。这没有多大意义,因为我将 CELERY_RESULT_BACKEND 设置为 Redis。

我发现 djcelery 将后端覆盖djcelery.setup_loader()database: 请参阅源代码中的 DjangoLoader 。

我努力寻找绕过 DjangoLoader 覆盖的方法,我发现的唯一方法是复制djcelery/loaders.py并修改该行:

然后在我的 settings.py 我做:

注意没有djcelery.setup_loader()了。

这显然是一个丑陋的黑客,有没有更优雅的方法呢?

0 投票
1 回答
616 浏览

python - freeswitch python 脚本 errno 10 没有子进程

在使用 django.db 模型在拨号计划中使用一些 python 脚本运行 freeswitch 时,我遇到了一个问题。每当它启动时,它都会导致错误:

编辑:导致错误的行是从 django.db 的简单导入:
从 django.db 导入模型

整个设置已经在我无法访问的某些服务器上运行,因此 django 应用程序或脚本似乎没有问题......

任何帮助将不胜感激,因为我已经没有如何解决这个问题的想法了......