Django celery beat调度程序在亚洲/ Calcutta时区不起作用

问题描述

我在用芹菜搭配Django celery beat,

当我使用Django-celery beat提供的调度程序时,我面临的问题是我无法解决的问题,但是在没有Django-celery-beat提供的调度程序的情况下使用普通节拍可以使用以下命令

不起作用 => celery worker --app=my_project.celery_app -l info --beat --scheduler django_celery_beat.schedulers:DatabaseScheduler

作品 => celery worker --app=my_project.celery_app -l info --beat

当我将Time_Zone更改为'UTC'时,我注意到的一件事是Django-celery-beat调度程序开始工作,但是我不想更改djagno的时区设置。

请在下面找到我的设置

USE_TZ = False
TIME_ZONE = 'Asia/Kolkata'
CELERY_TIMEZONE = 'Asia/Kolkata'

解决方法

您可以尝试以下方法:

celery -A my_app.celery:app beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler

另外,请确保已安装django_celery_beat,并且已将其添加到settings.py中:

INSTALLED_APPS = (
    ...,'django_celery_beat',)

然后python manage.py migrate

here,您可以找到有关节拍配置的更多信息。

,

我敢肯定,一定有办法做到这一点,

但是,我建议您不要在Django中使用tz = False,因为每个标准应用程序都知道时区并且默认使用UTC,无论您身在印度还是任何其他国家都没关系

希望如果您遇到UTC的任何错误,可以使您的应用程序更好

PS。即使您想查看其他库,也请查看下面的库

https://pypi.org/project/django-celery/

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...