类型错误仅与芹菜



我正在使用Django。所以有一个选项CELERY_ALWAYS_EAGER.当我用CELERY_ALWAYS_EAGER = True关闭芹菜工人时,一切都很好。

CELERY_ALWAYS_EAGER = False时出现错误:

TypeError: unsupported operand type(s) for -: 'unicode' and 'unicode'

当我尝试从一个时间戳中扣除另一个时间戳时,这是一个错误。喜欢: new_date - old_date

芹菜怎么了?我怎样才能避免它?

我真的不知道为什么会发生这种情况,在芹菜引擎中。

这是应对方法。我在一个任务中计算了这些时间戳,然后将它们作为参数传递给另一个芹菜任务。所以,当CELERY_ALWAYS_EAGER = True他们像正常datestamp一样通过.当CELERY_ALWAYS_EAGER = False时,他们以unicode的身份通过。

以下检查解决了该问题:

if isinstance(newest_date, unicode):
    old_date = pytz.utc.localize(
        datetime.datetime.strptime(old_date, '%Y-%m-%dT%H:%M:%S%fZ'))
    new_date = pytz.utc.localize(
        datetime.datetime.strptime(new_date, '%Y-%m-%dT%H:%M:%S%fZ'))

相关内容

  • 没有找到相关文章

最新更新