#python-3.x #celery #python-3.6 #python-asyncio #django-2.2
Вопрос:
Я работаю с проектом django (django=2.2 и python3.6.9), в котором очень мало задач с сельдереем.
Фоновые задачи сельдерея, выполняемые в настоящее время в проекте, касаются отправки электронной почты, отправки уведомлений на панели мониторинга и т.д.
Ниже я приведу примеры того, как задачи сельдерея определяются в проекте:
# tasks.py
...
from celery import shared_task
from backend.tasks import json_result
...
@shared_task
@json_result
def task1(args):
# logic_here
...
@shared_task
def send_email():
# logic here
...
@shared_task
def task2(args):
# logic here
...
# Trigger other Celery shared task for sending email
send_email.apply_async(
args=[user.pk], countdown=10)
Поскольку нагрузка на сельдерей значительно меньше, я подумал о замене их простыми асинхронными функциями python, которые будут выполняться в фоновом режиме.
Сам я до сих пор не использовал сельдерей или библиотеку asyncio в своих проектах django, поэтому мне нужна помощь.
Буду очень признателен, если кто-нибудь поможет мне с какой-либо информацией о том, как это сделать, или если есть какой-либо аналогичный/лучший способ.
Кроме того, если в Интернете есть какие-либо книги/документы или какие-либо ресурсы, которые могли бы помочь, пожалуйста, поделитесь ими.
Спасибо!