首页 文章
  • 2 votes
     answers
     views

    RabbitMQ管理API调用失败:HTTP 500:内部服务器错误

    我使用Celery Flower和RabbitMQ作为消息经纪人 . 但是我:得到令人讨厌的错误 错误 - RabbitMQ管理API调用失败:HTTP 500:内部服务器错误 每次我尝试在RabbitMQ管理界面(http://localhost:15672/#/queues)或Celery Broker(http://localhost:5555/broker)上访问RabbitMQ队列...
  • 3 votes
     answers
     views

    芹菜apply_async choking rabbit mq

    我正在使用celery的apply_async方法来排队任务 . 我希望每天运行大约100,000个这样的任务(数量只会增加) . 我使用RabbitMQ作为经纪人 . 几天前我运行了代码,RabbitMQ在几个小时后崩溃了 . 我注意到apply_async为每个任务创建一个新队列,x-expires设置为1天 . 我的假设是,当创建了如此多的队列时,RabbitMQ会窒息 . 如何阻止芹菜为每...
  • 1 votes
     answers
     views

    芹菜仍在开工

    我有芹菜的问题 . 我已经将Celery设置为妖魔化 . 这是命令: / home / user / sitios / incidencias / env / bin / python3 -m celery worker --concurrency = 4 --time-limit = 200 --app = incidencias --loglevel = INFO --logfile = /...
  • 4 votes
     answers
     views

    如何防止芹菜执行相同的任务?

    我正在实现一个使用celery任务的缓存服务器来更新后台缓存 . 我用不同的参数(缓存键)调用它只有一个任务 . 由于在将此服务器连接到我的主 生产环境 服务器之后,对于相同的缓存密钥,它将每秒接收数十个请求,以确保在芹菜队列中具有相同缓存密钥的永远不会有多个更新任务(作为队列和同时设置) . 我想在运行任务之前使用redis设置来确保它,但我正在寻找更好的方法 .
  • 29 votes
     answers
     views

    为什么CELERY_ROUTES同时具有“队列”和“routing_key”?

    我对AMQP的理解是消息只有以下组件: 邮件正文 路由密钥 交流 队列附加到交易所 . 消息不能具有任何队列知识 . 它们只是发布到交换机,然后根据交换类型和路由密钥,消息被路由到一个或多个队列 . 在Celery中,推荐的路由任务方法是通过 CELERY_ROUTES 设置 . 从文档中, CELERY_ROUTES 是...... 路由器列表,或用于将任务路由到队列的单个路由...
  • 2 votes
     answers
     views

    使用Celery以不同的优先级运行相同的任务

    所以我有一个非常有趣的场景,我希望以不同的优先级运行相同的Celery任务,具体取决于它的调用位置 - 例如,我想为优先级高的用户运行任务,优先级高于非高级用户 . 使用文档,我能够设置多个队列,并且能够通过将所有.delay调用更改为.apply_async调用并传入指定优先级队列的其他routing_key来使其工作 . 问题是必须在很多不同的地方做到这一点 . 有没有更好的方法来处理这个?我...
  • 0 votes
     answers
     views

    Celeryd没有执行我的工作人员

    我正在尝试在celery中使用daemonize我的任务,我已经测试过没有守护进程,而且它运行良好 . 但我不能像教程说的那样守护(http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#daemonizing)我有我的文件: solr_desa.py from celery import Celery celery ...
  • 1 votes
     answers
     views

    如何在ubuntu服务器上守护django芹菜周期性任务?

    在localhost上,我使用这些语句来执行任务和工作程序 . 运行任务:python manage.py celery beat Run worker:python manage.py celery worker --lvelvel = info我使用了otp,rabbitmq server和django-celery . 它工作正常 . 我在ubuntu服务器上上传了这个项目 . 我想要守护这...
  • 0 votes
     answers
     views

    芹菜 Worker 队列

    我目前使用“Celeryd”来运行我的Celery工作人员作为守护进程 . 我的/ etc / default / celeryd文件包含以下内容: CELERYD_NODES="w1 w2 w3" 这显然开始了三个 Worker 流程 . 如何配置路由以使用此配置?例如 celeryd -c 2 -l INFO -Q import 如果我从命令行运行celery,我可以使...
  • 2 votes
     answers
     views

    Celery-Django作为守护进程:ImportError:没有名为django.conf的模块

    我正在研究使用Celery的Django项目 . 在开发过程中,Celery工作正常 . 我的任务正在开发中正确安排 . 对于守护进程,我根据文档创建了 /etc/init.d/celeryd 和 /etc/defaults/celeryd . 当我输入命令 bash -x /etc/init.d/celeryd start 时,我收到错误N o module named django.con...
  • 0 votes
     answers
     views

    无法在服务器上将Celery设置为守护程序

    我无法在服务器上设置Celery作为守护进程(django 1.6.11,芹菜3.1,Ubuntu 14.04)尝试了很多选项,任何人都可以完全设置工作配置来运行celery作为守护进程吗? 我对官方文档非常失望http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#generic-init-scripts - 没有这...
  • 2 votes
     answers
     views

    django-celery作为一个守护进程:不工作

    我有一个用django,芹菜和rabbitmq写的网站项目 . 单击按钮时会调用“.delay”任务(任务创建新文件夹) . 当我使用manage.py运行芹菜时,芹菜的一切正常(调用.delay任务,并创建一个新文件夹): python manage.py celeryd 但是,当我将celery作为守护程序运行时,即使没有错误,也没有执行任务(没有创建文件夹) . 我有点跟随教程:http:/...
  • 0 votes
     answers
     views

    Django芹菜WorkerLostError: Worker 过早退出:信号9(SIGKILL)错误

    在 生产环境 virtualenv中将芹菜作为守护进程运行的最佳做法是什么?我在本地环境中使用以下内容,它完美地工作并且接收任务按预期工作 . 但在 生产环境 中始终坚持 WorkerLostError: Worker exited prematurely: signal 9 (SIGKILL) error 我在本地和 生产环境 中使用以下配置: /etc/default/celeryd: CE...
  • 3 votes
     answers
     views

    daemonizing芹菜过程celeryd-multi未找到

    我正在尝试在一个virtualenv里面运行django的celery进程守护进程 . 我将celeryd文件从https://github.com/celery/celery/tree/master/extra/generic-init.d复制到/etc/init.d/ 然后我创建了一个包含http://ask.github.io/celery/cookbook/daemonizing.html...
  • 0 votes
     answers
     views

    Celery子流程应该显示在ps aux |上减

    我在龙卷风服务器上使用Supervisord和Celery(注意:不是因为我的服务器还没有使用任何异步功能),还有三个工作人员:w1,w2和w3 . 每个都具有10的并发性 . 我通过将以下内容添加到/etc/supervisord.conf来通过管理器执行此操作: [program:sendgrid_gateway_server] command=sudo python main.py -o r...
  • 0 votes
     answers
     views

    django-celery进程达到100%且任务未执行

    我在Ubuntu 12.04服务器上使用最新版本的django-celery和RabbitMQ Worker . 我在一个月前开始遇到芹菜任务的问题,我无法弄清楚问题是什么 . 我用cevisord运行芹菜进入 生产环境 ,我不知道为什么但是有时候运行芹菜的一些过程会占用CPU的100%用量并保持这一点,直到我重新启动芹菜杀死现有过程 . 当这个发生的 Worker 没有得到更多的任务,他们没有被...
  • 1 votes
     answers
     views

    我如何告诉芹菜 Worker 停止接受任务?如何检查芹菜 Worker 的任务是否正在运行?

    场景: 使用Celery在包含Python / Flask Web应用程序和后台任务的服务器上运行的系统 Web应用程序和芹菜工作者都作为新手工作运行(Nginx背后的Web应用程序) 使用以下脚本完成 生产环境 部署: 停止新手工作 将代码推送到服务器 运行任何数据库迁移 启动upstart作业 如何增强部署脚本以便执行以下操作?: Tell the cele...
  • 2 votes
     answers
     views

    芹菜没有在 生产环境 中运行

    我正在尝试在 生产环境 中经营芹菜和芹菜 . 在我目前的django应用程序中,我能够使用命令“celery -A Gorgon worker”和“celery -A Gorgon beat -l debug --max-interval = 10”进行测试和运行 . 另外,我通过virtualenv运行它 . 另外,我使用redis作为任务经纪人 . 整个应用程序在gunicorn服务器上运行 ...
  • 1 votes
     answers
     views

    为什么Celery没有启动?

    我有一个Django应用程序,我已配置为使用Celery . 它使用教程中的开发设置工作正常 . 现在我正在尝试使用守护程序服务器 . 我在一个virtualenv中安装了Celery,并且正在启动它(从项目的根目录),如下所示: celery multi restart worker1 --app=project.celeryapp -B --logfile=/tmp/celery.log --...
  • 1 votes
     answers
     views

    Celery worker不会为应用启动ImportError

    我正在尝试用django和redis作为经纪人使用芹菜 . 我的应用名称之一是用户,其模型由其他应用导入 . 当我运行django服务器时,它启动没有任何错误,一切正常 . 但是当我尝试使用命令“celery -A project worker -l INFO”启动芹菜工作时,我收到以下错误: Traceback (most recent call last): File "/usr...
  • 5 votes
     answers
     views

    将芹菜任务路由到特定队列

    我在服务器上运行了两个独立的celeryd进程,由 supervisor 管理 . 它们被设置为侦听单独的队列: [program:celeryd1] command=/path/to/celeryd --pool=solo --queues=queue1 ... [program:celeryd2] command=/path/to/celeryd --pool=solo --queues=q...
  • 9 votes
     answers
     views

    将芹菜优先级队列与广播任务一起使用

    我想在我的芹菜 Worker 中实施任务优先权 . 我可以通过为高优先级任务和低优先级任务创建不同的队列来实现此目的 . 但是我还需要向所有拥有广播队列且没有工作的工作人员发送广播任务 . 这是tasks.py文件: from celery import Celery from kombu.common import Broadcast, Queue, Exchange app = Celery...
  • 2 votes
     answers
     views

    在处理Flask请求的同一服务器上运行Celery任务

    我有一个设置,多个服务器运行我的Flask应用程序和Celery工作者 . Flask路由在本地处理文件上载并将Celery任务排队以将该文件上载到CDN . Celery任务可以由群集中的任何节点处理 . 如果Celery任务由与处理Flask路由的节点不同的节点处理,则将找不到该文件,并且任务将失败 . 如何确保Celery任务在处理Flask路由的同一节点上运行?
  • 7 votes
     answers
     views

    芹菜可以分配任务来指定 Worker

    芹菜将把任务发给闲置的 Worker . 我有一个任务将每5秒运行一次,我希望这个任务只发送给一个指定的工作者 . 其他任务可以分享剩余的 Worker 芹菜能做到吗? 我想知道这个参数是什么: CELERY_TASK_RESULT_EXPIRES这是否意味着该任务不会被发送到队列中的工作人员?或者如果运行时间太长,它会停止吗?
  • 0 votes
     answers
     views

    Django芹菜 Worker 没有收到任务

    每当我运行芹菜 Worker 时,我都会收到警告 ./manage.py celery worker -l info --concurrency=8 如果我被忽略这个警告,那么我的芹菜 Worker 没有收到芹菜打败任务 在googled之后我也改变了 Worker 的名字,但是这次我没有收到警告但是芹菜 Worker 仍然没有收到芹菜打败预定的任务 我检查了芹菜捶打日志,芹菜按时按时安排任务...
  • 7 votes
     answers
     views

    初始化不同 Value 的芹菜 Worker

    我正在使用芹菜在Hadoop上运行长时间运行的任务 . 每个任务在Hadoop上执行一个Pig脚本,运行大约30分钟 - 2小时 . 我当前的Hadoop设置有4个队列a,b,c和默认值 . 所有任务当前都由单个工作程序执行,该工作程序将作业提交到单个队列 . 我想再添加3个将作业提交到其他队列的工作者,每个队列一个工作者 . 问题是队列目前是硬编码的,我希望每个 Worker 都有这个变量 ....
  • 0 votes
     answers
     views

    芹菜任务重复问题

    我在我的VPS上运行了3个芹菜节拍实例(使用不同的settings.py) . 其中三个实例由三个相同代码的网站使用 . 该任务基本上向几百个注册用户发送电子邮件(使用sendgrid) . 我的问题是我的任务在使用ETA方法运行时运行3次,如下所示 . sdate = datetime.datetime.strptime(request.POST['schedule_date'],'%d-%m-...
  • 9 votes
     answers
     views

    芹菜autoreload无法正常工作

    我正在使用Celery 3.1.16经纪人(运行RabbitMQ)和多名芹菜 Worker 与celeryd通过主管守护 . 问题在于任务更新 . 当我更新我的tasks.py文件时,芹菜工作者运行旧代码 . 芹菜发射命令: /home/my_project/bin/celery -B --autoreload --app=my_app.celery:app worker --loglevel=I...
  • 2 votes
     answers
     views

    Celery / RabbitMQ / Django没有运行任务

    我希望有人可以帮助我,因为我查看了Stack Overflow并找不到我的问题的解决方案 . 我正在运行一个Django项目,并安装了Supervisor,RabbitMQ和Celery . RabbitMQ启动并运行,Supervisor确保我的celerybeat正在运行,但是,当它记录节拍已开始并每5分钟发送一次任务(见下文)时,任务实际上从未执行: 我的主管计划conf: [progra...
  • 0 votes
     answers
     views

    尽管成功,芹菜任务结果仍未返回

    我正在尝试使用django celery djcelery rabbitmq memcached将同步任务卸载到其他服务器 . 根据芹菜日志和芹菜花,异步任务被发送给 Worker 并成功执行 . 但结果似乎永远不会回来 . Web服务器上运行的代码是: def wait_task(task, *args): async_result = task.delay(*args) ret...

热门问题