2013-07-15 9 views
5

Ho ottenuto esattamente lo stesso problema descritto in questo post, ma la risposta non aiuta affatto. In breve, sto usando Tivix django-cron, il lavoro cron non funziona regolarmente.Come utilizzare l'app Tivix django-cron

Per illustrare il problema, la seguente classe di lavoro cron ha lo scopo di inviare e-mail ogni minuto una volta eseguito il comando runcrons. Ma in realtà, invia solo una e-mail e non più. Che sconfigge lo scopo di cron ... Cosa mi manca?

class TestCron(CronJobBase): 
    schedule = Schedule(run_every_mins=1) 
    code = 'test_cron_philip' 

    def do(self): 
     send_mail('cron test', 'body is test body', '[email protected]', 
        ['[email protected]'],fail_silently=False) 

risposta

8

Sì, ti manca qualcosa ("runcrons" non è background deamon). Dalla documentazione:

"Ora ogni volta che si esegue il comando python gestione manage.py runcrons tutti i cron verrà eseguito se necessario seconda dell'applicazione il comando di gestione può essere chiamato dal crontab Unix come. spesso come richiesto Ogni 5 minuti di solito funziona per la maggior parte delle mie applicazioni ".

Ciò significa che devi inserire il comando "runcrons" nel tuo crontab.

Esempio:

Avete qualche cronjob che fare qualcosa ogni 30 min.

Per ottenere questo è necessario modificare l'esecuzione si crontab (Linux, Mac) o task scheduler (Windows) per eseguire "Python runcrons manage.py" per ogni, diciamo 1 min.

Se si ottiene questo funzionamento, CronJob verrà eseguito il ping ogni 1 minuto ed eseguito se necessario (ogni 30 minuti o qualsiasi valore impostato).

Spero che questo aiuti.

+1

ho avuto questo nel mio file crontab: * * * * * root python /home/nash/djangocode/zingyhomes_new/manage.py runcrons ma non funziona ancora? per favore aiuto . –