È stato utile?

Soluzione

Direi " sorta di " ;. Le cose da ricordare sulle code delle attività sono:

1) un limite di operazioni al minuto / ora / giorno non equivale a ripetere qualcosa a intervalli regolari. Anche con la dimensione del bucket token impostata su 1, non credo che tu sia garantito che tali ripetizioni saranno equamente distanziate. Dipende da quanto sono gravi quando affermano che la coda è implementata come bucket token e se tale affermazione dovrebbe essere una parte garantita dell'interfaccia. Essendo laboratori, nulla è ancora garantito.

2) se un'attività ha esito negativo, viene nuovamente aggiornata. Se un processo cron ha esito negativo, viene registrato e non riprovato fino alla scadenza. Quindi un cron job non si comporta allo stesso modo né come task che aggiunge una copia di se stesso e quindi aggiorna il feed, né come task che aggiorna il feed e quindi aggiunge una copia di se stesso.

Potrebbe anche essere possibile deridere i lavori cron usando le attività, ma dubito che ne valga la pena. Se stai cercando di aggirare un lavoro cron che richiede più di 30 secondi per l'esecuzione (o raggiunge qualsiasi altro limite di richiesta), puoi dividere il lavoro in pezzi e avere un lavoro cron che aggiunge tutti i pezzi a un coda attività. Si è parlato (nel blog GAE?) Di urlfetch asincrono, che potrebbe essere il modo migliore per aggiornare i feed RSS.

Altri suggerimenti

Il modo in cui lo guardo è che se sto solo analizzando un feed RSS un lavoro Cron potrebbe essere abbastanza buono. Se dovessi analizzare il numero X di feed RSS specificato in fase di esecuzione da un utente o qualsiasi altra variabile di sistema, sceglierei le attività ogni volta.

Lo dico solo perché in passato ho dovuto eseguire molte ricerche twitter definite dall'utente a intervalli regolari e con i lavori Cron ho finito per creare un pessimo sistema di Accodamento per eseguire le richieste che dovevano essere eseguite - non è stato così scala, non ha aiutato e l'intervallo più piccolo che può essere un lavoro cron è solo 1 minuto (avevo più ricerche da eseguire rispetto ai minuti del giorno).

La cosa bella delle attività è che puoi dare loro un ETA, quindi puoi dire che vorrei che questo venisse eseguito 47 secondi in futuro, o che vorrei che questo venisse eseguito alle 12:30.

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