问题标签 [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.
python - 如何使用 Celery 延迟任务?
不谈delay
方法。
我希望能够得到一个任务,因为它是 task_id 并在执行之前动态更改它的 ETA。
现在我必须取消它,并重新安排一个。如果计划的过程涉及很多东西,那就麻烦了。
python - 如何使用 celery 选择 task_id?
现在我从 async_result 得到一个 task_id 并且必须保存它以便稍后取回。如果我知道 task_id 是由什么组成的会更好,这样我就可以计算它而不是从数据库中提取它。EG:用 设置任务task_id=("%s-%s" % (user_id, datetime))
。
rabbitmq - RabbitMQ 上 celery 任务优先级的解决方法?
我在 RabbitMQ 上运行带有 Celery 的 Django 作为队列来处理一些数据处理任务。当用户第一次注册时,我会启动 celery 任务,并定期更新他们的数据。但是,我当然想优先考虑运行当前在线用户的任务。我注意到 celery 中的任务有优先级设置,但似乎 rabbitmq 不支持这一点。这个线程http://groups.google.com/group/celery-users/browse_thread/thread/ac3b6123d63421e5/b7740def1389e87e?lnk=gst&q=priority#b7740def1389e87e建议有两个不同的队列,一个高优先级和一个低优先级,或者设置一个较低优先级任务的速率限制。
有没有人有一个很好的解决方法来实现优先级?提前致谢!
python - 还有其他人在使用 django-celery 保持 ghettoq 在后台运行时遇到困难吗?
很好地处理一个请求,然后客户端应用程序将下一个作业发布到队列中失败并出现此回溯。
我们正在切换到rabbitMQ,因为它“......正常工作”
python - 在 django 中中止 Celery 中正在运行的任务
我希望能够中止从芹菜队列运行的任务(使用rabbitMQ)。我使用
其中 AsyncBoot 是一个已定义的任务。
我可以获取任务 ID(假设是apply_async
返回的长字符串)并将其存储在数据库中,但我不确定如何调用中止方法。我看到如何使用 Abortable 任务类使方法可中止,但如果我只有任务 ID 字符串,我如何在任务上调用 .abort() ?谢谢。
python - 此 Web 应用程序是否需要任务队列?
背景
我有一个网络应用程序,它将根据用户输入创建图像。图像创建可能需要几秒钟。
问题
如果我让处理请求/响应的服务器线程也生成图像,这将占用一个线程几秒钟,并可能使我的服务器陷入困境,影响性能,杀死小狗等。
问题
我是否应该使用任务队列,例如Celery,以便服务器可以移交图像创建,然后返回处理请求/响应? 我让正在创建图像的用户等待没有问题,但我不希望它影响其他人访问该站点。
python - 无法让 Celery run_every 属性工作
我正在尝试创建一些 Celery 定期任务,其中一些需要能够在运行时更改 run_every 时间。芹菜文档说我应该能够通过将 run_every 属性转换为属性来做到这一点(http://packages.python.org/celery/faq.html#can-i-change-the-interval-of-a-运行时的周期性任务)。
这是我正在做的事情:
不幸的是,当我打开 celerybeat 时,出现以下错误:
[2010 年 9 月 9 日星期四 15:44:40:CRITICAL/828]:celerybeat 引发异常:“datetime.timedelta”对象没有属性“is_due”
然后它会关闭。Celery 文档并没有真正讨论将 run_every 设为属性时要返回的内容,而且我在谷歌搜索时也没有任何运气。Celery 更新日志说,自 1.0.0 版以来,它能够在运行时更改定期任务的间隔。
开发。环境:
- Python 2.6.5
- Django 1.2.1
- 芹菜 2.0.2
celery - 撤销功能是否需要额外的 api 调用来阻止队列中的任务执行?
我有一个并发设置为 1 的工作人员和一个进入无限循环 [用于测试] 的任务。我提交了一个任务 T1,工人得到它并开始工作。我提交了另一个任务,它得到了它,由于它仍然忙于 T1,T2 进入队列 [rabbitMQ]。
我试过 T2.revoke() 和 revoke(t2.task_id)
并与检查员核对以查看撤销状态。每件事看起来都不错。但是当我重新启动worker时,它仍然执行T2。
是否需要做任何事情来抑制 T2 的执行?
django - 如何在 Django 视图中使用 celery 存储延迟调用的结果?
我已经遵循http://celeryq.org/docs/django-celery/getting-started/first-steps-with-django.html中的指导方针,并创建了一个视图,在 tasks.py 中调用我的测试方法:
但是,如果我的 add-method 需要很长时间才能响应,我如何存储我在调用 add.delay(1,2) 时得到的结果对象并使用它来检查使用 get later 的进度/成功/结果?