【问题标题】:Celery scheduled task eta(apply_async(eta=xxx:23) option is not working芹菜计划任务 eta(apply_async(eta=xxx:23) 选项不起作用
【发布时间】:2014-07-07 14:36:16
【问题描述】:

当我尝试使用 eta 选项安排 celery 任务时,未按预期日期时间处理。

代码片段:

 process_time_utc = datetime.datetime.fromtimestamp(time.mktime(x.utctimetuple()))
 process_request.apply_async(eta=process_time_utc,kwargs={'description':xxxx})

settings.py 代码 sn-p

CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
CELERY_ENABLE_UTC = Flase
CELERY_ALWAYS_EAGER = False
CARROT_BACKEND = 'django'
BROKER_URL = 'amqp://user2:xxx@localhost:xx56//'
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = ()

# ('Your Name', 'your_email@example.com'),

CELERY_IMPORT = 'xxx.app.tasks'
MANAGERS = ADMINS

DATABASES = {'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': '/test_data/test.db',
    'USER': '',
    'PASSWORD': '',
    'HOST': '',
    'PORT': '',
}}



TIME_ZONE = 'UTC'

这里是芹菜输出日志,

[2014-07-07 20:04:08,407: INFO/MainProcess] 
Got task from broker: xx.xxxx.app.tasks.process_request
[08029a2a-fdf0-4b50-b9a9-bdcf05ba71b5] eta:[2014-07-07 20:11:29+00:00]

[2014-07-07 20:04:48,785: INFO/MainProcess] 
Got task from broker: xx.xxxx.app.tasks.process_request
[624c5592-8ed6-4f2c-93df-d48af584a074] eta:[2014-07-07 20:06:29+00:00]

注意: 我已经按照这个教程http://celery.readthedocs.org/en/latest/reference/celery.app.task.html

【问题讨论】:

  • 你能给我看一些你的代码吗?
  • 你运行的是哪个版本的 Celery?
  • 嗨 Banana,我使用的是 celery==3.1.12 版本。
  • 嗨 Rafael,我已经添加了我的代码 sn-p。时间格式有问题吗?
  • @Selva 也许你应该尝试使用外部库作为 pytz 来获取正确的时间 (stackoverfldoingow.com/a/24616628/2801037)

标签: python django celery


【解决方案1】:

Eta 参数总是有一个过去的日期时间。尝试添加一些延迟(秒,分钟,你需要的)或使用倒计时参数

【讨论】:

  • eta:您是否尝试过使用本地日期时间(不是 UTC)?否则,你使用倒计时参数了吗?
  • 是的,朋友。我用 utc 和本地时间都试过了,似乎它不起作用。
  • 您是否在设置中定义了 CELERY_ALWAYS_EAGER 参数?
  • 是的。我试过 CELERY_ALWAYS_EAGER=True 似乎不起作用。关于倒计时参数只允许时间格式。但我的要求需要日期时间格式延迟。
  • 如果定义CELERY_ALWAYS_EAGER,则必须为False,否则会立即执行stackoverflow.com/questions/16498966/…
猜你喜欢
  • 2013-02-11
  • 1970-01-01
  • 2017-11-06
  • 2020-08-06
  • 1970-01-01
  • 2016-05-18
  • 2016-04-24
  • 1970-01-01
  • 2015-04-21
相关资源
最近更新 更多