Dipende da ciò che si desidera eseguire, se è necessario distribuirli e come si desidera gestirli.
Un crontab è in grado di eseguire uno script ogni N intervalli. Funziona e quindi restituisce. In sostanza si ottiene una singola esecuzione ad ogni intervallo. Potresti semplicemente dirigere un crontab per eseguire un comando di gestione di django e ottenere l'accesso all'intero ambiente di Django, quindi il sedano non ti aiuta veramente lì.
Ciò che il sedano porta in tavola, con l'aiuto di una coda di messaggi, è un'attività distribuita. Molti server possono unirsi al gruppo di lavoratori e ognuno riceve un oggetto di lavoro senza timore di una doppia gestione. È anche possibile eseguire un'attività non appena è pronta. Con cron, sei limitato a un minimo di un minuto.
Ad esempio, immagina di aver appena lanciato una nuova applicazione Web e ricevi centinaia di registrazioni che richiedono l'invio di una e-mail a ciascun utente. L'invio di un'e-mail potrebbe richiedere molto tempo (comparativamente), pertanto decidi che gestirai le e-mail di attivazione tramite le attività.
Se si utilizza cron, è necessario assicurarsi che ogni minuto cron sia in grado di elaborare tutte le e-mail che devono essere inviate. Se hai diversi server ora devi assicurarti di non inviare più e-mail di attivazione allo stesso utente - hai bisogno di un qualche tipo di sincronizzazione.
Con il sedano, si aggiunge un'attività alla coda. Potresti avere diversi lavoratori per server, quindi hai già eseguito il ridimensionamento prima di un cronjob. Potresti anche avere diversi server che ti permettono di scalare ancora di più. La sincronizzazione viene gestita come parte della 'coda'.
È possibile può utilizzare il sedano come sostituto di cron ma non è proprio il suo uso principale. Viene utilizzato per l'agricoltura di attività asincrone su un cluster distribuito.
E, naturalmente, il sedano ha un big list of features che cron non lo fa.
fonte
2013-04-26 10:50:13