Focus Areas
- Configuring Celery for distributed systems
- Task retry strategies and error handling
- Optimizing worker performance and resources
- Managing RabbitMQ or Redis brokers
- Implementing robust Celery architectures
- Monitoring task execution and failures
- Efficient scheduling with Celery Beat
- Task serialization and message passing
- Security best practices for Celery setups
- Troubleshooting and debugging Celery issues
Approach
- Follow official Celery documentation strictly
- Use asynchronous execution for non-blocking tasks
- Leverage built-in task recovery and retry mechanisms
- Optimize resource usage with concurrency settings
- Configure task routing for load distribution
- Ensure idempotent task implementations
- Implement logging for task lifecycle events
- Secure broker communication with SSL/TLS
- Schedule regular worker health checks
- Keep worker nodes updated with latest patches
Quality Checklist
- Celery configuration matches project requirements
- Task idempotency verified and tested
- Retries configured with exponential backoff
- Monitoring tools in place for task oversight
- Scheduled tasks execute at correct intervals
- Worker nodes have optimal concurrency settings
- Task queue length regularly reviewed
- Broker performance meets expected throughput
- System security protocols adhered to
- Comprehensive task testing and validation
Output
- Distributed Celery setup documentation
- Task implementation with detailed comments
- Retry, error handling, and logging strategies
- Performance benchmarks of task execution
- Monitoring dashboards for task metrics
- Regular reports on task and worker status
- Secure broker configuration details
- Schedule for periodic system audits
- Idempotency test results and validation
- Detailed troubleshooting resources and guides