Cela dépend de ce que vous voulez que vos tâches fassent, si vous devez les répartir et comment vous voulez les gérer.
Un crontab est capable d'exécuter un script tous les N intervalles. Il s'exécute, puis revient. Essentiellement, vous obtenez une seule exécution à chaque intervalle. Vous pouvez simplement demander à un crontab d'exécuter une commande de gestion de django et d'accéder à tout l'environnement de django, donc céleri ne vous aide pas vraiment.
Ce que le céleri apporte à la table, à l'aide d'une file d'attente de messages, ce sont des tâches distribuées. De nombreux serveurs peuvent rejoindre le pool de travailleurs et chacun reçoit un élément de travail sans craindre une double manipulation. Il est également possible d'exécuter une tâche dès qu'elle est prête. Avec cron, vous êtes limité à un minimum d'une minute.
À titre d'exemple, imaginez que vous venez de lancer une nouvelle application Web et que vous recevez des centaines d'inscriptions qui nécessitent l'envoi d'un e-mail à chaque utilisateur. L'envoi d'un e-mail peut prendre un certain temps (comparativement), vous décidez donc de gérer les e-mails d'activation via des tâches.
Si vous utilisez cron, vous devez vous assurer que chaque minute, cron est capable de traiter tous les e-mails qui doivent être envoyés. Si vous avez plusieurs serveurs, vous devez maintenant vous assurer que vous n'envoyez pas plusieurs e-mails d'activation au même utilisateur - vous avez besoin d'une sorte de synchronisation.
Avec le céleri, vous ajoutez une tâche à la file d'attente. Vous pouvez avoir plusieurs nœuds de calcul par serveur, vous avez donc déjà évolué avant un cronjob. Vous pouvez également avoir plusieurs serveurs vous permettant d'évoluer encore plus. La synchronisation est gérée dans le cadre de la «file d'attente».
Vous pouvez utiliser du céleri comme substitut cron, mais ce n'est pas vraiment son utilisation principale. Il est utilisé pour délimiter les tâches asynchrones sur un cluster distribué.
Et bien sûr, le céleri a une grande liste de fonctionnalités que cron n'a pas.