Celery consists of several key components:
- Client/Producer: The application that creates and sends tasks
- Message Broker: Middleware that routes tasks from producers to workers (e.g., RabbitMQ, Redis)
- Worker: Process that executes the actual tasks
- Result Backend: Optional storage for task results (e.g., Redis, Database)
- Beat: Scheduler for periodic tasks