Flask Academy · Aula

Integre Celery à fábrica do aplicativo

Configure um agente intermediário e o aplicativo Celery.

Aula 2 de 413 etapas

Integre Celery à fábrica do aplicativo é uma aula grátis de Flask Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Flask Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Flask Academy inclui 4 aulas no total.

Três peças para conectar

Para executar o Celery, você precisa de três coisas: a URL do intermediário, um back-end de resultados e um objeto de aplicativo Celery ao qual suas tarefas pertençam.

Escolha um intermediário

Redis é o intermediário mais fácil para começar. Você aponta o Celery para ele com uma URL, para que saiba onde colocar e de onde retirar os trabalhos.

broker_url = "redis://localhost:6379/0"

Adicione um back-end de resultados

Se quiser ler os resultados das tarefas mais tarde, configure um back-end de resultados. O Redis funciona bem tanto como intermediário quanto como back-end durante o desenvolvimento.

result_backend = "redis://localhost:6379/1"

O objeto de aplicativo do Celery

O Celery se baseia em uma única instância Celery(). As tarefas são registradas nela, e os processos de trabalho a carregam para saber o que executar.

from celery import Celery
celery = Celery(__name__)

Por que a fábrica é importante

No padrão de fábrica de aplicativos, a configuração é carregada dentro de create_app. O Celery deve obter sua URL do intermediário dessa mesma configuração, em vez de codificá-la diretamente.

Leia a configuração do Flask

Armazene as configurações de CELERY na configuração do Flask para que desenvolvimento, teste e produção possam ser diferentes. Depois, crie o Celery a partir de app.config dentro da fábrica.

app.config["CELERY_BROKER_URL"] = "redis://localhost:6379/0"

Um auxiliar make_celery

Um padrão comum é uma função make_celery(app) que lê app.config e retorna uma instância configurada do Celery.

def make_celery(app):
    c = Celery(app.import_name)
    c.conf.update(app.config)
    return c

As tarefas precisam do contexto do aplicativo

As tarefas frequentemente acessam o banco de dados ou current_app, que precisam de um contexto do aplicativo. Sem ele, essas chamadas falham quando o processo de trabalho é executado.

Crie uma subclasse da base Task

A correção clássica envolve cada tarefa para que ela ative um contexto do aplicativo antes de ser executada. Assim, as tarefas podem usar as extensões do Flask com segurança.

Dois processos, uma configuração

O processo web e o processo de trabalho são separados, mas ambos criam o Celery a partir da mesma configuração, para concordarem sobre o intermediário e o back-end.

Inicie um processo de trabalho

Você executa os processos de trabalho pela linha de comando, apontando para sua instância do Celery. Depois, eles escutam os trabalhos no intermediário.

celery -A app.celery worker --loglevel=info

Verificação rápida

As tarefas usam frequentemente o banco de dados.

Recapitulação

Configure um intermediário e um back-end, crie um Celery a partir de app.config dentro de create_app e ative um contexto do aplicativo para que as tarefas possam usar o Flask. ✅

Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Integre Celery à fábrica do aplicativo” é grátis?

Sim — o texto completo de “Integre Celery à fábrica do aplicativo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Flask Academy, atualize para CoddyKit PRO. O curso de Flask Academy inclui 4 aulas no total.

O que vou aprender em “Integre Celery à fábrica do aplicativo”?

Configure um agente intermediário e o aplicativo Celery. Você pratica Flask Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Flask Academy?

Nenhuma experiência prévia é necessária. Flask Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Integre Celery à fábrica do aplicativo”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Flask Academy?

Sim. Cada aula de Flask Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Por que tirar o trabalho da solicitação
  2. Integre Celery à fábrica do aplicativo
  3. Defina e chame uma tarefa
  4. Acompanhe resultados e trate falhas
← Voltar para Flask Academy