问题标签 [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.
django - 在 django 应用程序中使用 celery 以 root 权限运行脚本?
我需要从我的 django 项目中在我的 django 项目所在的 ubuntu 机器上运行一些需要 root 权限的命令。我正在使用 celery 启动一个异步进程,该进程又调用需要 root 权限才能成功的 shell 命令。
我怎样才能做到这一点而又不冒造成巨大安全漏洞的风险?
PS!我需要调用的 shell 命令是 smbpasswd,编辑 /etc/samba/smb.conf 并重新启动 samba 服务。
python - celery 2.x @periodic_task 没有出现在任务注册表中
我最近更新到 celery 2.0,我正在尝试使用新的(对我而言)装饰器来执行定期任务:
我还有一些其他代码是我的网站,其中列出了定期任务以及它们使用的运行频率
获取任务列表。我的问题是使用装饰器添加的任务似乎没有出现在这个任务列表中。有没有办法获取使用 celery 2.0 中的装饰器添加的任务列表?
python - 使用 Celery 实现 AMQP
我想听听你对 celery 使用的不同 AMQP 实现的优点的看法。我特别关注消息优先级和作业队列大小。你怎么认为?
django - 没有 amqp 服务器的 django-celery (rabbitmq)
我正在使用 celery 进行分布式任务处理。我想在网络主机上部署我的工作,只是为了展示我的项目的工作。那么我怎样才能让 djcelery 使用数据库(sqlalchemy)作为 django 而不是 rabbitmq 或其他 amqp 服务器的后端。
python - Celery 是否适合与许多小型分布式系统一起使用?
我正在编写一些软件,它将通过间歇性3G(或类似)连接管理“现场”中的数百个小型系统。
总部需要将作业发送到现场系统(例如,“报告您的状态”、“更新您的软件”等),并且现场系统需要将作业发送回服务器(例如, “检测到故障”、“这里有一些数据”等)。
我花了一些时间研究Celery,它似乎非常适合:celeryd
在家庭基地运行可以celeryd
为现场系统收集工作,在现场系统上运行可以为服务器收集工作,这些工作可能是在客户可用时进行交换。
那么,Celery 是否适合解决这个问题?具体来说:
- 大多数任务将被定向到单个工人(例如,“将'get_status'作业发送到'system51'”)——这会是一个问题吗?
- 它是否能够优雅地处理不利的网络条件(例如,连接失效)?
- 仅当 RabbitMQ 用作后端时,哪些功能才可用?(我宁愿不在现场系统上运行 RabbitMQ)
- 如果我像我描述的那样使用芹菜,还有其他原因会让我的生活变得困难吗?
谢谢!
(建议 Celery 有点矫枉过正是有道理的,但还有其他原因可以让我的生活更轻松,所以我想考虑一下)
celery - 如何使用 djcelery 启用 celeryd 的日志文件轮换?
我的 celery 配置文件中有以下设置:
- CELERYD_LOG_DEBUG='假'
- CELERYD_LOG_FILE=r'/var/log/celery/celeryd.log'
- CELERYD_LOG_LEVEL="错误"
我查看了 celery 的设置文件,并没有在配置中指定日志文件大小限制的选项。甚至代码看起来都使用 StreamHandler 而不是 RotationHandler 类。任何线索/提示?
谢谢。
python - 芹菜,Django ..制作任务/线程启动子任务/线程?
我正在使用 celery 和 django 并试图获得一个任务,如下所示:
但它似乎不起作用,我可以更详细地了解我的代码,但我想我会先问这种事情是否会起作用,因为它似乎对我不起作用。我发现这是必要的,因为我正在使用 selenium,一个 Web 测试框架,有时它会挂在我无法从中获得任何输出的地方,所以如果不满足某个条件,我希望能够在关闭时杀死(在指定的秒数内用某个值更新 memcache 变量)。
感谢您对此的任何建议
python - 为什么在使用 Django 和 Celery 时导入任务时必须输入项目名称?
我刚刚为 Django 项目安装并配置了带有 RabbitMQ 的 Celery,当我像这样导入它们时遇到了运行任务的问题:
当我添加项目名称时它起作用了:
我尝试将其添加到 settings.py 文件中,但没有任何改变:
我可以将项目名称留在导入行上,因为它可以工作,但我想知道是否有解决方法或为什么必须这样。
python - 在不运行“celeryd”的情况下使用 Django+Celery 进行开发?
celeryd
在开发中,运行Django 开发服务器有点麻烦。例如,是否可以要求celery
在开发过程中同步运行任务?或者类似的东西?
django - 生产者和工人模型的 Django Celery 数据库
我想开发一个使用 Django 作为 Fronted 和 Celery 来做背景工作的应用程序。现在,有时不同机器上的 Celery 工作人员需要访问我的 django 前端机器(两台不同的服务器)的数据库。他们需要知道一些实时的东西并运行 django-app
他们需要访问包含所有可用模型的数据库。
我必须通过直接连接访问我的 MySQL 数据库吗?因此,我必须允许用户“my-django-app”不仅从我的前端机器上的本地主机访问,而且从我的其他工作服务器 ips 访问?
这是“正确”的方式,还是我错过了什么?只是认为它不是真的安全(没有 ssl),但也许这就是它必须的方式。
感谢您的回复!