Sto cercando di creare un'architettura sana per posticipare un compito per 24 ore. Finora ho pensato a:
- unix cron job, ma questo non sarà in grado di prendere il carico che gli diamo, dato che avremo molte migliaia di attività in ritardo al giorno
- Usa RabbitMQ con scambio di lettere morte, tuttavia, questo è un trucco e il fatto di essere un hack è pieno di problemi - impossibile da monitorare senza mutilare i messaggi, ecc.
- Altre soluzioni che ho trovato sono basate su sondaggi, ad esempio, inserisci attività in MySQL e disponi di un responsabile del polling
- Amazon SQS supporta solo ritardi fino a 15 minuti. Potrei scrivere un ciclo di punt per # di ritardi, ma questo sta già reinventando troppo la ruota. Inoltre, usando SQS questo sarebbe costoso come paghiamo per messaggio.
- Redis possibilmente ...? non ho indagato pesantemente su questo So che Memcached non è appropriato in quanto non garantisce la persistenza a lungo.
Quale tecnologia esistente fa bene a questo? Non voglio reinventare la ruota qui, dato che sono abbastanza sicuro che non sto lavorando al primo prodotto software che richiede l'esecuzione di un compito domani. Finora sono stato al database di guida.