A cron jobok ütemezése a csomópontokban a kiszolgáló újraindításakor

szavazat
41

Van csomópont js alkalmazásom, ahol a felhasználó 4-5 különféle cron feladatot ütemezhet. A felhasználó kiválasztja a start_date, end_date, start_time és end_time elemeket, és ennek megfelelően a cron funkciókat ütemezik, és egyes kampányokat generálnak a vezetékekkel (vagy más felhasználókkal) való kapcsolódáshoz. Az npm csomópont-ütemezést használom a kívánt cron-job végrehajtás eléréséhez, de a kérdés akkor merül fel, ha a webes alkalmazásom összeomlik.

A. Hivatalos dokumentációja szerint node-schedule ,

Ne feledje, hogy a csomópont-ütemezést a folyamaton belüli ütemezésre tervezték, azaz az ütemezett jobok csak akkor futnak, amíg a szkript fut, és az ütemezés eltűnik, amikor a végrehajtás befejeződik.

A megoldásként fel tudom hívni a cron funkciókat a server.js fájl használatával, amely minden alkalommal újraindul a kiszolgáló szkriptjének végrehajtásakor. De a következő kérdéseket nem tudom megoldani:

  1. Az ütemező egy egyedi funkció, nem kampányspecifikus, tehát hogyan fogja az alkalmazás tudni, melyik cron-funkciót indítsa el, ha még nem fejezte be?
  2. Az ütemező egyetlen funkció, amelyet minden alkalommal felhívnak, mihelyt a szervert újraindítják. Ha egy szerver 6 példányát hozza létre, akkor azt hatszor hívják.

Tegyük fel, hogy az ütemezőmnek május 28. és 11.00 és május 31. között 12:00 között kell végrehajtania. Az ütemező elkezdi a munkáját, és néhány kampány közt végrehajtásra kerül. Ha szerver május 30-án leáll, hogyan vehetem fel a fennmaradó dátumot és a kampányokat, és ott kitölthetem?

Tehát aggódok, hogyan lehet ütemezni vagy kezelni a cron job funkciókat a kampányokhoz? Ha a kampány egyik cron jobja összeomlik a szerver leállítása között, hogyan tudhatom ütemezni vagy végrehajtani azt a cron funkciót attól az időponttól vagy dátumtól kezdve, amely a rajta maradt?

Nem vagyok nagyon tapasztalt a cron munkákban, reménykedve néhány praktikus megoldásra.

A kérdést 28/05/2020 19:49
a forrás felhasználó
Más nyelveken...                            

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