Допустим, у меня есть следующая функция, которую я хочу периодически выполнять в Celery:
import logging
import requests
log = logging.getLogger(__name__)
def spam():
data = fetch_some_data()
log.info(f'Fetched {len(data)} data')
stuff = []
for item in data:
try:
response = requests.get(url + item)
response.raise_for_status()
except RequestException as exc:
log.error(f'Error when requesting {item}: {exc}')
continue
stuff.append(response.text)
for item in stuff:
do_something(item)
log.info(f'Processed {len(stuff)} items')
Когда выполняется сопровождающее задание:
from hello import spam
@app.task
def run():
spam()
Я хотел бы увидетьрезультат задачи сохраняется вместе с зарегистрированными сообщениями.Например, Цветок может отображать ход выполнения и историю задачи , но я хотел бы добавить информацию регистрации в виде отдельных полей (например, «Информационные сообщения» и «Сообщения об ошибках»).Аналогичным образом, если использовать django-celery-results , он может отображать ту же информацию в представлении администратора Django.
Каков наилучший способ добиться этого?