Сброс соединения одноранговым сельдереем
Когда я создаю долгосрочные задачи (1-2 дня), некоторые из них выполняются успешно, но некоторые вызывают ошибку Connection Reset by peer error (104). Например, задания, запущенные в 11:30, не выполняются (но некоторые успешны), но задания, запущенные в 12:00 или до 11:30, успешны. settings.py
DATABASES['default']['CONN_MAX_AGE'] = 0
if REDIS_PRIMARY_URL:
CELERY_BROKER_URL = os.environ.get("CELERY_BROKER_URL", REDIS_PRIMARY_URL)
else:
CELERY_BROKER_URL = _env_get_required("CELERY_BROKER_URL")
# http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-result_backend
CELERY_RESULT_BACKEND = CELERY_BROKER_URL
CELERY_WORKER_MAX_TASKS_PER_CHILD=500
# http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-accept_content
CELERY_ACCEPT_CONTENT = ["json"]
# http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-task_serializer
CELERY_TASK_SERIALIZER = "json"
# http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-result_serializer
CELERY_RESULT_SERIALIZER = "json"
# http://docs.celeryproject.org/en/latest/userguide/configuration.html#beat-scheduler
CELERY_BEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler"
CELERY_ACKS_LATE = True
Как я запускаю планировщик и рабочий на aws с помощью контейнеров
["celery","--app=app.celery_app","beat","--loglevel=INFO"]
- запустить планировщик
["celery","--app=app.celery_app","worker","--loglevel=DEBUG","-n worker.%%h","--without-gossip","--without-mingle","--without-heartbeat","-Ofair","--pool=solo"]
- запустить рабочего
Celery версия 5.2