Why Celery beat instead of a cron job?
Celery beat runs inside the Django process and shares the ORM, settings, and connection pool. A cron job would require a standalone management command with its own database connection, error handling, and logging. Celery also provides built-in retry logic, result tracking, and easy frequency changes without redeploying crontab files.