Sto cercando approcci generali e idealmente librerie / strumenti per la pianificazione di molte migliaia di lavori ricorrenti.
Un semplice esempio è un aggregatore di feed, in cui vorrei interrogare ripetutamente migliaia di feed. Non vorrei mai effettuare il polling di un sito web più di una volta all'ora (esagerando con le risorse di tutti), ma potrei occuparmi di siti Web di polling meno di una volta all'ora se non c'è il tempo di terminare tutto in un'ora (e preoccuparsi in seguito della condivisione del processo o qualsiasi altra cosa per renderlo più veloce, se questo continua a succedere). Quindi vorrei fondamentalmente un framework in cui posso dire "esegui questa attività il più spesso possibile, ma non più di una volta all'ora".
Un'altra caratteristica interessante sarebbe che un tale framework decadesse esponenzialmente compiti falliti, cioè se un URL del feed fosse rotto, sarebbe programmato per 2 ore, poi 4 ore, ecc.
Ho sentito parlare di un approccio che coinvolge un albero binario che agisce come una sorta di struttura dati gigante simile a un cronjob. Il sistema passerebbe costantemente attraverso questo albero per vedere se eventuali attività sono in ritardo. Non ho molte più informazioni di questo. Ho esaminato strumenti come Resque, ma in realtà non sembrano coprire questo caso d'uso.