Přeplánování úloh cron v nodejs při restartu serveru

hlasů
0

Mám uzel js aplikaci, kde si uživatel může naplánovat 4-5 různých cron úloh. Uživatel vybere datum zahájení, datum ukončení, datum zahájení a čas ukončení, a podle toho jsou naplánovány funkce cronu a některé kampaně jsou generovány pro spojení s potenciálními zákazníky (nebo jinými uživateli). Používám npm balíček node-schedule k dosažení požadovaného provedení cron-job, ale problém nastane, pokud se moje webová aplikace mezi tím zhroutí.

Podle oficiální dokumentace node-schedule ,

Uvědomte si, že plán uzlu je navržen pro průběžné plánování, tj. Naplánované úlohy se spustí, pouze pokud je spuštěn váš skript, a plán zmizí po dokončení provádění.

Řešení, které mohu vyřešit, je zavolat funkce cron pomocí souboru server.js, který restartuje pokaždé, když je spuštěn skript serveru. Ale nedokážu vyřešit některé z následujících problémů:

  1. Plánovač je individuální funkce, nikoli kampaň specifická, takže jak bude aplikace vědět, která funkce cron má začít, pokud nebyla dokončena?
  2. Plánovač je jediná funkce, která bude vyvolána při každém restartování serveru. Pokud je vytvořeno 6 instancí serveru, bude se volat šestkrát.

Předpokládejme, že můj plánovač má být spuštěn mezi 28. květnem 11:00 a 31. květnem 12:00. Plánovač zahájí svou práci a některé kampaně jsou provedeny mezi tím. Pokud můj server spadne 30. května, jak mohu vyzvednout zbývající čas a kampaně a dokončit jej odtamtud?

Takže se obávám, jak naplánovat nebo zvládnout funkce cron job pro kampaně? Pokud dojde k selhání některé z úloh cronů kampaně, pokud je server zastaven, jak bych měl být schopen znovu naplánovat nebo provést tuto funkci cron od času nebo data, které z ní zůstalo?

Nejsem moc zkušený s cronovými úlohami, doufám v několik užitečných řešení.

Položena 28/05/2020 v 19:49
zdroj uživatelem
V jiných jazycích...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more