#celery #django-celery #celerybeat
#сельдерей #джанго-сельдерей #стук сельдерея
Вопрос:
Я настроил Celery на выполнение периодической задачи каждые 10 секунд, которая отправляет запрос post в мою платформу API Django Rest.
Когда я запускаю работника Сельдерея, он правильно выполняет задачу:
[tasks] . FutureForex.celery.debug_task . arbitrager.tasks.arb_data_post_request
Когда я запускаю бит, больше ничего не регистрируется, и запрос POST не выполняется:
[2021-12-10 16:51:24,696: INFO/MainProcess] beat: Starting...
Мои задачи.py содержит следующее:
from celery import Celery from celery.schedules import crontab from celery.utils.log import get_task_logger import requests app = Celery() logger = get_task_logger(__name__) @app.on_after_configure.connect def setup_periodic_tasks(sender, **kwargs): # Calls arb_data_post_request every 10 seconds. sender.add_periodic_task(10.0, arb_data_post_request.s(), name='arb_data_post_request') @app.task def arb_data_post_request(): """ Post request to the Django framework to pull the exchnage data and save to the database :return: """ request = requests.post('http://127.0.0.1:8000/arbitrager/data/') logger.info(request.text)
Я считаю, что Сельдерей установлен и настроен правильно, так как он находит задачу. Однако я могу предоставить любые настройки, если потребуется. Любые идеи о том, почему он не запускает задачу в соответствии с запланированными 10 секундами, будут оценены по достоинству.
Спасибо, Сол