Cela dépend de ce que vous voulez que vos tâches fassent, si vous devez les distribuer et comment vous voulez les gérer.
Une 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 par intervalle. Vous pourriez simplement diriger un crontab pour exécuter une commande de gestion de django et avoir accès à l'ensemble de l'environnement django, donc celery ne vous aide pas vraiment là.
Ce que celery apporte à la table, avec l'aide d'une file de messages, ce sont des tâches distribuées. De nombreux serveurs peuvent rejoindre le pool de travailleurs et recevoir chacun 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.
Par 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 courriel à chaque utilisateur. L'envoi d'un e-mail peut prendre beaucoup de temps (comparativement), vous décidez donc de gérer les e-mails d'activation par le biais de tâches.
Si vous utilisiez cron, vous devriez faire en sorte que cron puisse traiter chaque minute tous les courriels qui doivent être envoyés. Si vous avez plusieurs serveurs, vous devez maintenant vous assurer que vous n'envoyez pas plusieurs courriels d'activation au même utilisateur - vous avez besoin d'une sorte de synchronisation.
Avec celery, vous ajoutez une tâche à la file d'attente. Vous avez peut-être plusieurs travailleurs par serveur, ce qui vous permet d'anticiper la mise en place d'un cronjob. Vous pouvez également avoir plusieurs serveurs, ce qui vous permet d'aller encore plus loin. La synchronisation est gérée comme une partie de la 'queue'.
Vous peut utiliser celery pour remplacer cron mais ce n'est pas vraiment son utilisation principale. Il est utilisé pour la gestion de tâches asynchrones sur un cluster distribué.
Et bien sûr, le céleri a un grande liste de fonctionnalités que le cron ne fait pas.