Imagem de fundo

O Celery é uma biblioteca Python poderosa e versátil projetada para criar filas de tare...

O Celery é uma biblioteca Python poderosa e versátil projetada para criar filas de tarefas (task queues) e executar tarefas de forma assíncrona em segundo plano. Sua principal função é permitir que aplicações distribuam trabalho computacional entre diferentes processos ou threads, executando operações custosas sem bloquear o fluxo principal da aplicação. Com relação a essa biblioteca, é correto afirmar:


A

O funcionamento básico do Celery envolve três componentes principais: Producer (aplicação cliente que cria e envia tarefas), Broker (mediador de mensagens como Redis ou RabbitMQ que enfileira as tarefas) e Worker (processo responsável por consumir e executar as tarefas da fila). Para definir uma função como tarefa assíncrona, utiliza-se o decorator @app.task.


B

O funcionamento básico do Celery envolve dois componentes principais: Client (aplicação que solicita processamento) e Server (instância única que processa todas as tarefas de forma síncrona e bloqueante). Para definir uma função como tarefa assíncrona, utiliza-se o decorator @app.sync e a execução é realizada através do método .execute() que sempre bloqueia o thread principal até a conclusão.


C

O funcionamento básico do Celery envolve três componentes principais: Producer (aplicação cliente que cria tarefas), Broker (mediador de mensagens como Redis que enfileira as tarefas) e Executor (processo responsável por consumir e executar as tarefas da fila). Para definir uma função como tarefa assíncrona, utiliza-se o decorator @task.async e as tarefas são executadas automaticamente sem necessidade de chamada explícita.


D

O funcionamento básico do Celery envolve três componentes principais: Generator (aplicação que cria tarefas), Database (banco de dados PostgreSQL obrigatório para enfileiramento) e Processor (processo responsável por consumir e executar as tarefas da fila). Para definir uma função como tarefa assíncrona, utiliza-se o decorator @app.async_task e a execução é controlada através do método @app.task.