问题标签 [celery]

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 投票
0 回答
759 浏览

django - 在 django 应用程序中使用 celery 以 root 权限运行脚本?

我需要从我的 django 项目中在我的 django 项目所在的 ubuntu 机器上运行一些需要 root 权限的命令。我正在使用 celery 启动一个异步进程,该进程又调用需要 root 权限才能成功的 shell 命令。

我怎样才能做到这一点而又不冒造成巨大安全漏洞的风险?

PS!我需要调用的 shell 命令是 smbpasswd,编辑 /etc/samba/smb.conf 并重新启动 samba 服务。

0 投票
0 回答
310 浏览

python - celery 2.x @periodic_task 没有出现在任务注册表中

我最近更新到 celery 2.0,我正在尝试使用新的(对我而言)装饰器来执行定期任务:

我还有一些其他代码是我的网站,其中列出了定期任务以及它们使用的运行频率

获取任务列表。我的问题是使用装饰器添加的任务似乎没有出现在这个任务列表中。有没有办法获取使用 celery 2.0 中的装饰器添加的任务列表?

0 投票
1 回答
286 浏览

python - 使用 Celery 实现 AMQP

我想听听你对 celery 使用的不同 AMQP 实现的优点的看法。我特别关注消息优先级和作业队列大小。你怎么认为?

0 投票
1 回答
3029 浏览

django - 没有 amqp 服务器的 django-celery (rabbitmq)

我正在使用 celery 进行分布式任务处理。我想在网络主机上部署我的工作,只是为了展示我的项目的工作。那么我怎样才能让 djcelery 使用数据库(sqlalchemy)作为 django 而不是 rabbitmq 或其他 amqp 服务器的后端。

0 投票
2 回答
2246 浏览

python - Celery 是否适合与许多小型分布式系统一起使用?

我正在编写一些软件,它将通过间歇性3G(或类似)连接管理“现场”中的数百个小型系统。

总部需要将作业发送到现场系统(例如,“报告您的状态”、“更新您的软件”等),并且现场系统需要将作业发送回服务器(例如, “检测到故障”、“这里有一些数据”等)。

我花了一些时间研究Celery,它似乎非常适合:celeryd在家庭基地运行可以celeryd为现场系统收集工作,在现场系统上运行可以为服务器收集工作,这些工作可能是在客户可用时进行交换。

那么,Celery 是否适合解决这个问题?具体来说:

  • 大多数任务将被定向到单个工人(例如,“将'get_status'作业发送到'system51'”)——这会是一个问题吗?
  • 它是否能够优雅地处理不利的网络条件(例如,连接失效)?
  • 仅当 RabbitMQ 用作后端时,哪些功能才可用?(我宁愿不在现场系统上运行 RabbitMQ)
  • 如果我像我描述的那样使用芹菜,还有其他原因会让我的生活变得困难吗?

谢谢!

(建议 Celery 有点矫枉过正是有道理的,但还有其他原因可以让我的生活更轻松,所以我想考虑一下)

0 投票
2 回答
11170 浏览

celery - 如何使用 djcelery 启用 celeryd 的日志文件轮换?

我的 celery 配置文件中有以下设置:

  1. CELERYD_LOG_DEBUG='假'
  2. CELERYD_LOG_FILE=r'/var/log/celery/celeryd.log'
  3. CELERYD_LOG_LEVEL="错误"

我查看了 celery 的设置文件,并没有在配置中指定日志文件大小限制的选项。甚至代码看起来都使用 StreamHandler 而不是 RotationHandler 类。任何线索/提示?

谢谢。

0 投票
1 回答
819 浏览

python - 芹菜,Django ..制作任务/线程启动子任务/线程?

我正在使用 celery 和 django 并试图获得一个任务,如下所示:

但它似乎不起作用,我可以更详细地了解我的代码,但我想我会先问这种事情是否会起作用,因为它似乎对我不起作用。我发现这是必要的,因为我正在使用 selenium,一个 Web 测试框架,有时它会挂在我无法从中获得任何输出的地方,所以如果不满足某个条件,我希望能够在关闭时杀死(在指定的秒数内用某个值更新 memcache 变量)。

感谢您对此的任何建议

0 投票
1 回答
155 浏览

python - 为什么在使用 Django 和 Celery 时导入任务时必须输入项目名称?

我刚刚为 Django 项目安装并配置了带有 RabbitMQ 的 Celery,当我像这样导入它们时遇到了运行任务的问题:

当我添加项目名称时它起作用了:

我尝试将其添加到 settings.py 文件中,但没有任何改变:

我可以将项目名称留在导入行上,因为它可以工作,但我想知道是否有解决方法或为什么必须这样。

0 投票
4 回答
9711 浏览

python - 在不运行“celeryd”的情况下使用 Django+Celery 进行开发?

celeryd在开发中,运行Django 开发服务器有点麻烦。例如,是否可以要求celery在开发过程中同步运行任务?或者类似的东西?

0 投票
1 回答
1807 浏览

django - 生产者和工人模型的 Django Celery 数据库

我想开发一个使用 Django 作为 Fronted 和 Celery 来做背景工作的应用程序。现在,有时不同机器上的 Celery 工作人员需要访问我的 django 前端机器(两台不同的服务器)的数据库。他们需要知道一些实时的东西并运行 django-app

他们需要访问包含所有可用模型的数据库。

我必须通过直接连接访问我的 MySQL 数据库吗?因此,我必须允许用户“my-django-app”不仅从我的前端机器上的本地主机访问,而且从我的其他工作服务器 ips 访问?

这是“正确”的方式,还是我错过了什么?只是认为它不是真的安全(没有 ssl),但也许这就是它必须的方式。

感谢您的回复!