Замените задачи сельдерея в django асинхронными функциями python

#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, поэтому мне нужна помощь.

Буду очень признателен, если кто-нибудь поможет мне с какой-либо информацией о том, как это сделать, или если есть какой-либо аналогичный/лучший способ.

Кроме того, если в Интернете есть какие-либо книги/документы или какие-либо ресурсы, которые могли бы помочь, пожалуйста, поделитесь ими.

Спасибо!