Domanda

Ho un'applicazione Django.

Uno dei miei modelli aspetto come questo:

class MyModel(models.Model):

    def house_cleaning(self):
    // cleaning up data of the model instance

Ogni volta quando aggiorno un'istanza di MyModel, avrei bisogno di ripulire i giorni dei dati N tardi. Così mi piacerebbe pianificare un processo di chiamata

this_instance.house_cleaning() 

N giorni da oggi.

C'è una coda di lavoro che mi permettesse di:

  • integrano bene con Django - mi consenta di richiamare un metodo di istanze individuali modello
  • lavori unica pista che sono in programma per l'esecuzione di oggi
  • Idealmente fallimenti gestire correttamente

Grazie

È stato utile?

Soluzione

django-cronografo potrebbe essere buono per il vostro caso d'uso. Se si scrivono i lavori di pulizia come Django comandi, poi si pianifica loro di funzionare a un certo momento. Funziona utilizzando UNIX cron dietro la scena.

Altri suggerimenti

C'è qualche motivo per cui un job cron non avrebbe funzionato? O qualcosa di simile django-cron che si comporta allo stesso modo? E ' abbastanza facile per stand-write script Django solo. Se si desidera attivare la pulizia della casa su qualche cambiamento per voi modellare dopo un certo numero di giorni, perché non creare una bandiera data nel modello che è impostato per N giorni in futuro, quando le esigenze di lavoro per essere programmati? Si potrebbe eseguire uno script su base giornaliera che tira tutti i record in cui la data è <= oggi, chiama il metodo house_cleaning() dell'istanza e poi cancella il campo della data. Se viene generata un'eccezione durante il processo, è abbastanza facile per accedere o inviano un e-mail.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top