Node.js: Zadania cron

Automatyzuj zadania w Node.js za pomocą zadań cron

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie Node.js cloud, które zapewnia wiele korzyści, w tym:

  • Wdrażaj swoją aplikację w kilka sekund za pomocą prostego git push.
  • Używaj własnej nazwy domeny i korzystaj z automatycznej konfiguracji certyfikatów HTTPS dla zwiększonego bezpieczeństwa.
  • Ciesz się spokojem dzięki automatycznym kopiom zapasowym, aktualizacjom jednym kliknięciem oraz prostemu, przejrzystemu i przewidywalnemu cennikowi.
  • Uzyskaj optymalną wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.

Oszczędzaj czas i upraszczaj sobie życie: wypróbowanie rozwiązania Node.js cloud hosting Stackhero zajmuje tylko 5 minut!

Podczas tworzenia aplikacji Node.js, automatyzacja powtarzalnych zadań, takich jak wysyłanie zaplanowanych e-maili, czyszczenie przeterminowanych danych czy regularna konserwacja, może znacznie poprawić zarówno efektywność, jak i skalowalność. Moduł cron, dostępny na npm (moduł cron na npm), oferuje prosty i skuteczny sposób na wdrożenie takiej automatyzacji.

Uwaga: Chociaż moduł npm node-cron jest innym dostępnym narzędziem do zadań cron, ten przewodnik koncentruje się konkretnie na module cron i jego implementacji.

Aby rozpocząć korzystanie z modułu cron w swoim projekcie, dodaj go jako zależność, wykonując następujące polecenie:

npm install cron

Po zainstalowaniu modułu możesz zacząć planować i zarządzać zadaniami cron w swojej aplikacji. Oto praktyczny przykład:

const cron = require('cron');
const cronJobs = [];

// Łagodnie obsługuj zamknięcie aplikacji, zatrzymując wszystkie zaplanowane zadania cron.
// Podczas wdrażania nowego kodu lub zamykania aplikacji wysyłany jest sygnał zakończenia (SIGTERM).
// To zapewnia, że aplikacja zatrzymuje wszystkie działające zadania cron przed zakończeniem.
process.on('SIGTERM', () => {
  cronJobs.forEach(cronJob => cronJob.stop());
});

// Zaplanuj zadanie cron do wykonania co sekundę.
cronJobs.push(
  new cron.CronJob(
    '* * * * * *', // Harmonogram: Co sekundę
    () => {
      console.log("Ta wiadomość pojawi się co sekundę.");
    },
    null,
    true
  )
);

// Zaplanuj zadanie cron do wykonania co minutę.
cronJobs.push(
  new cron.CronJob(
    '0 */1 * * * *', // Harmonogram: Co minutę
    () => {
      console.log("Ta wiadomość pojawi się co minutę.");
    },
    null,
    true
  )
);

Moduł cron używa standardowej składni UNIX cron do definiowania harmonogramów. Oto kilka powszechnych przykładów:

  • Co sekundę: * * * * * *
  • Co 30 sekund: */30 * * * * *
  • Co 10 minut: 0 */10 * * * *
  • Co 2 godziny: 0 0 */2 * * *

Jesteś teraz gotowy do automatyzacji zadań za pomocą modułu cron w swoich aplikacjach Node.js. Aby uzyskać bardziej szczegółowe informacje i przykłady, odwiedź oficjalne repozytorium modułu cron i sprawdź katalog przykładów.