sql >> Databáze >  >> NoSQL >> Redis

Jak pozastavit nebo obnovit úkol s celerem?

Špatný přístup. Nikdy byste neměli pozastavit nebo odvolat proces ručně, abyste získali aktuální stav. Stavy pozastavení a odvolání jsou spíše vyhrazeny pro chyby zprostředkovatele.

Zkuste přepracovat svůj kód.

Hlavní cíl, kterého je třeba dosáhnout, je v této větě

customer can pause or resume process which are pending not the process one

Navrhněte svůj kód jako https://en.wikipedia.org/wiki/Workflow_pattern

Rozdělte svůj kód na kroky nebo stavy. Jeden celer proces může projít celým workflow, ale není to nutné, pokud například děláte mnoho požadavků pro mnoho externích poskytovatelů (jeden požadavek =jeden stav). Pokud zákazník pozastaví stav, zastavte proces celeru. Přidejte k této úloze událost, která zkontroluje, kdy se stav změní na aktivní, a znovu spustí nový celerový proces.



  1. Spring Data Reactive Repository s MongoDB

  2. Jak odstranit všechny položky ze sbírky MongoDB

  3. Správné vypnutí připojení databáze MongoDB z ovladače C# 2.1?

  4. Jak povolit protokolování pro Mongoose a ovladač MongoDB Node.JS