それは、タスクの実行内容、配布する必要があるかどうか、およびそれらをどのように管理するかによって異なります。
crontabは、N間隔ごとにスクリプトを実行できます。実行してから戻ります。基本的に、間隔ごとに1回実行されます。crontabにdjango管理コマンドを実行してdjango環境全体にアクセスするように指示するだけでよいので、celeryは実際には役に立ちません。
セロリがメッセージキューを利用してテーブルにもたらすのは、分散タスクです。多くのサーバーはワーカーのプールに参加でき、それぞれが二重処理の心配なしにワークアイテムを受け取ります。準備ができたらすぐにタスクを実行することもできます。cronでは、最低1分間に制限されています。
例として、新しいWebアプリケーションを起動したばかりで、各ユーザーにメールを送信する必要がある数百のサインアップを受け取っているとします。電子メールの送信には時間がかかる場合があるため(比較的)、タスクを介してアクティベーション電子メールを処理することにします。
cronを使用している場合は、毎分cronが送信する必要のあるすべての電子メールを処理できるようにする必要があります。複数のサーバーがある場合は、同じユーザーに複数のアクティベーションメールを送信しないようにする必要があります。何らかの同期が必要です。
セロリでは、タスクをキューに追加します。サーバーごとに複数のワーカーがある可能性があるため、cronジョブよりも先にスケーリングされています。複数のサーバーを使用して、さらに拡張することもできます。同期は「キュー」の一部として処理されます。
あなたはすることができますのcronの置き換えとしてセロリを使用するが、それは本当に、その主な用途はありません。分散クラスター全体で非同期タスクを実行するために使用されます。
そしてもちろん、セロリにはcronにはない機能の大きなリストがあります。