Redis e RabbitMQ podem ser os corretores preferidos ao usar o Celery, mas quando você está desenvolvendo localmente, eles podem parecer um exagero. A documentação do Celery 5.4 menciona que você pode usar o SQLite como um corretor experimental para desenvolvimento local. No entanto, quando você navega para a página de backends e corretores do Celery, as únicas menções ao SQL são para o SQLAlchemy backend. Felizmente, a página observa que “esta seção não abrange back-ends e corretores”.
Este post mostrará como implementar um corretor SQLite (ou qualquer SQL!) para o Celery em um projeto Django. Esta postagemnão ensinará você a usar o Celery: verifique a documentação oficial do Celery para isso.
Antes de começarmosobrigatório, mas você pode querer seguir os passos do guia para instalar e configurar o django-celery-results. Se você não tiver certeza de qual é a diferença entre backends e corretores, confira meu artigo "Compreendendo tarefas, corretores, trabalhadores e backends no Celery."
Todos os links para a documentação fonte serão para as versões atuais do Django, Celery e SQLAlchemy no momento da publicação (julho de 2024), exceto quando explicitamente indicado o contrário. Se você estiver lendo isso em um futuro distante, as coisas podem ter mudado.Configurando o SQL Broker
Escondido nos cantos mais distantes da documentação do Kombu, há um modelo de transporte SQLAlchemy que suporta PostgreSQL, MySQL e SQLite. Era uma vez o corretor SQLAlchemy até documentado no site do Celery, mas desde então foi removido dos documentos nas versões mais recentes da biblioteca. No entanto, ainda funciona suficientemente bem para o desenvolvimento local.
Para usar um banco de dados sequencial como um corretor Celery em seu aplicativo Django, primeiro instale o SQLAlchemy:
pip install SQLAlchemyNo arquivo settings.py do seu projeto Django, você pode definir o backend do seu corretor usando a configuração CELERY_BROKER_URL:
pip install SQLAlchemyO
URL do corretor SQLAlchemy consiste em 3 partes:
pip install SQLAlchemyVocê também pode usar o Postgres como um corretor Celery ou pode facilmente usar o MySQL como um corretor Celery:
pip install SQLAlchemyVocê pode precisar instalar outras bibliotecas para se conectar ao MySQL ou PostgreSQL, e qual biblioteca você instala pode afetar a string de conexão SQLAlchemy. Verifique os documentos de URL do banco de dados SQLAlchemy para obter mais detalhes.
Independentemente do banco de dados escolhido, você pode considerar armazenar a URL do corretor em uma variável de ambiente para facilitar a alteração em diferentes ambientes:
pip install SQLAlchemyUma palavra de cautela
Dito isto, pode ser bom para o desenvolvimento local, ou mesmo para pequenos projetos paralelos. Mas eu não ficaria chocado se a capacidade de usar SQLAlchemy como corretor desaparecesse no futuro.
Próximas etapas
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3