Celery + Amazon SQS - задачи, выполняемые дважды после последнего изменения летнего времени - PullRequest
0 голосов
/ 06 ноября 2018

В последнее воскресенье я обнаружил, что задания выполнялись дважды. Это было проблемой, особенно для массовых писем, отправляемых дважды.

В чем проблема?

Еще один вопрос, тот же вопрос, но без ответа: Дублированные задачи после изменения времени

Мой файл конфигурации сельдерея :

from __future__ import absolute_import, unicode_literals
import os

from celery import Celery
from celery.schedules import crontab

# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproj.settings_prod')

app = Celery('myproj')

# Using a string here means the worker doesn't have to serialize
# the configuration object to child processes.
# - namespace='CELERY' means all celery-related configuration keys
#   should have a `CELERY_` prefix.
app.config_from_object('django.conf:settings', namespace='CELERY')

# Load task modules from all registered Django app configs.
app.autodiscover_tasks()

@app.task(bind=True)
def debug_task(self):
    print('Request: {0!r}'.format(self.request))


app.conf.beat_schedule = {
    'mass-email1': {
        'task': 'myproj.myapp.tasks.send_email1',
        'schedule': crontab(hour=8, minute=30, day_of_week=1), # Executes every Monday morning at 8:30am
    }
}

Часовой пояс, установленный в settings.py, равен TIME_ZONE = 'America/New_York'.

Пакеты сельдерея :

celery==4.1.1
django_celery_beat==1.1.1
django_celery_results==1.0.1
...