问题标签 [celery-task]
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-storages 文件的内容进行处理
当我在本地提供媒体服务并且需要处理获取文件内容的任务时,这非常简单。但是,我只是转移到了 django-storages,这并不是替代品。有人可以为我提供一种将文档从 S3 中提取出来的方法,以便我可以处理它。
老办法:
但是我转移到 django-storages 并且这(显然)不起作用。如何从 s3 中提取文件的本地副本来处理它。我以为我可以简单地这样做:
新(失败)方式:
但是我不能在它爆炸时对此进行 read() 。
最后,我需要它同时适用于旧方式和新方式。显然我有点想多了..
更新:
遵循文档也无济于事。
谢谢您的帮助。
redis - 我怎样才能得到周期性任务调度的结果
嘿伙计们,我是芹菜的新手。我正在研究定期任务调度。我的配置celeryconfig.py
如下:
如下mytask.py
:
当我跑步时,
celery beat -s celerybeat-schedule
我会得到
Configuration ->
. broker -> redis://localhost:6379/0
. loader -> celery.loaders.default.Loader
. scheduler -> celery.beat.PersistentScheduler
. db -> celerybeat-schedule
. logfile -> [stderr]@INFO
. maxinterval -> now (0s)
[2012-08-28 12:27:17,825: INFO/MainProcess] Celerybeat: Starting...
[2012-08-28 12:28:00,041: INFO/MainProcess] Scheduler: Sending due task mytasks.add
[2012-08-28 12:29:00,057: INFO/MainProcess] Scheduler: Sending due task mytasks.add
[2012-08-28 12:30:00,064: INFO/MainProcess] Scheduler: Sending due task mytasks.add
[2012-08-28 12:31:00,097: INFO/MainProcess] Scheduler: Sending due task mytasks.add
现在我没有得到我已经传递了参数(16,16)
那么我怎么能得到这个函数的答案add(x,y)
celery - 想知道 celery 什么时候开始工作
我是新手celery
。我有一些配置celeryconfig.py
如下:
我已安排作业将在 30 秒内定期运行。现在我希望工作应该从那时开始29 aug
我4:00PM
应该如何配置它?
celery - 芹菜:列出所有任务,计划的,活动的*和*完成
赏金更新
如果可能的话,我想要一个不涉及监控线程的解决方案。
我知道我可以使用我的应用程序类查看计划任务和活动任务。Inspect
Control
但我找不到任何功能来显示已完成的任务。我知道这些信息必须至少可以暂时访问,因为我可以通过它来查找已完成的任务task_id
:
如何获得计划、活动和已完成任务的完整列表?或者可能同时列出所有任务?
celery - 收到类型的未注册任务
我正在尝试运行内存中的任务。在工人上注册的任务
但它仍然给出错误:
redis - 达到 eta 时,长 eta(8 小时以上)的 celery 任务会连续执行多次
我正在创建一个 eta 介于 3 到 20 小时之间的任务,当我查看工作日志时,对于这个任务,工作人员Got task from broker: ...
在收到原始任务后每小时都会说“”,直到达到 eta。
我知道这与设置BROKER_TRANSPORT_OPTIONS = {'visibility_timeout': X}
X 是以秒为单位的数字有关。
所以我玩了 visibility_timeout,如果我将它设置为小于 1 小时,那么我可以看到工作人员每 X 秒执行一次相同的任务,但是当我将visibility_timeout
X 设置为大于 1 小时时,它会保持默认为 1h,不管我设定的时间。
还有其他人遇到这个问题吗?这是一个已知的错误吗?
我正在使用带有 Redis 服务器版本 2.4.15 的 Celery 3.0.11 (Chiastic Slide)
python - 如何手动从 shell 运行 celery 定期任务?
我正在使用芹菜和 django-celery。我已经定义了一个我想测试的定期任务。是否可以手动从 shell 运行定期任务以便查看控制台输出?
redis - 如果芹菜(显然)随机忘记任务,我该怎么办?
我有一个带有 sqlalchemy 的烧瓶应用程序和一个正在运行的芹菜工人。我使用 redis 作为我的经纪人。每次有人在对话中提交新消息时,都会启动一个工作人员,并且应该向所有参与对话的人发送通知邮件。因此,它连接到数据库并获取所有相关的电子邮件地址。
不幸的是,似乎有一个随机因素决定芹菜是否知道发送邮件的任务。在某些启动后它可以完美运行(有时),在某些启动后它根本不起作用。当它不起作用时,我得到的错误是:
当我用它运行 celery 时,--loglevel=DEBUG
它会在任务列表中列出任务:
我还不能确定一个系统,什么时候可以工作,什么时候不工作。但是我已将所有相关软件包升级到今天可用的最新版本,但它仍然无法正常工作。
我希望对为什么这可能不起作用以及如何解决它有任何想法。非常感谢每一个反馈,因为我有点绝望!
python - 从芹菜中的taskset_id中检索GroupResult?
我正在使用官方文档中描述的 celery group 开始一组 celery 任务
我还将组(任务集)ID 存储到数据库中,以便轮询 celery 的任务集状态。
有没有办法result
从任务集 id 开始获取 GroupResult 对象(即 my )?类似于this question中所做的事情,但与芹菜组合作。
我已经尝试过这样做:
但它不起作用,因为r.results()
总是空的。
我应该使用GroupResult.save()
和GroupResult.restore()
方法吗?
celery - Celery - 错误处理和数据存储
我试图更好地理解有关 Celery 中结果和错误的常见策略。
我看到结果有状态/状态并在请求时存储结果——我什么时候使用这些数据?错误处理和数据存储是否应该包含在任务中?
这是一个示例场景,以防它有助于更好地理解我的目标:
我有一个对用户地址进行 goeocodes 的地理编码任务。如果任务失败或成功,我想更新数据库中的一个字段让用户知道。(错误处理)成功后,我希望将地理编码数据插入数据库(数据存储)
应该采取什么方法?