Görevlerinizin ne yapmasını istediğinize, dağıtmanız gerekip gerekmediğine ve bunları nasıl yönetmek istediğinize bağlıdır.
Bir crontab, her N aralıkta bir komut dosyası çalıştırabilir. Çalışır ve sonra geri döner. Esasen, her aralıkta tek bir yürütme elde edersiniz. Bir django yönetim komutunu yürütmek ve tüm django ortamına erişmek için bir crontab'ı yönetebilirsiniz, böylece kereviz gerçekten size yardımcı olmaz.
Bir mesaj kuyruğu yardımıyla kerevizin masaya getirdiği şey, dağıtılmış görevlerdir. Birçok sunucu, çalışan havuzuna katılabilir ve her biri, çift işlem yapma korkusu olmadan bir çalışma öğesi alabilir. Bir görevi hazır olur olmaz yürütmek de mümkündür. Cron ile minimum bir dakika ile sınırlandırılırsınız.
Örnek olarak, yeni bir web uygulaması başlattığınızı ve her kullanıcıya bir e-posta gönderilmesini gerektiren yüzlerce kayıt aldığınızı hayal edin. E-posta göndermek uzun zaman alabilir (karşılaştırmalı olarak), bu nedenle görevler aracılığıyla etkinleştirme e-postalarını yönetmeye karar verirsiniz.
Eğer cron kullanıyorsanız, her dakika cron'un gönderilmesi gereken tüm e-postaları işleyebildiğinden emin olmanız gerekir. Birden fazla sunucunuz varsa, aynı kullanıcıya birden fazla aktivasyon e-postası göndermediğinizden emin olmanız gerekir - bir tür senkronizasyona ihtiyacınız vardır.
Kerevizle kuyruğa bir görev eklersiniz. Sunucu başına birkaç işçiniz olabilir, bu nedenle zaten bir cronjob'tan önce ölçeklendirmişsinizdir. Daha da fazla ölçeklendirmenize olanak tanıyan birkaç sunucunuz da olabilir. Senkronizasyon, "sıranın" bir parçası olarak ele alınır.
Sen edebilir bir cron yerine kereviz kullanmak ama bu gerçekten birincil kullanımı değil. Eşzamansız görevleri dağıtılmış bir küme üzerinde toplamak için kullanılır.
Ve tabii ki kerevizin cron'un sahip olmadığı büyük bir özellik listesi var .