• Как правильно в pm2 запускать cron scheduller?

    kprod
    @kprod
    Fullstack-разработчик
    Ответ для тех, кто всё еще ищет

    Дело в том, что pm2 был придуман для того, чтобы запускать процессы на сервере и они работали 24/7, а в случае если произошла ошибка - процесс автоматически перезапускался. В вашем же случае скрипт конечный:
    - Запуск скрипта
    - Проход всех итераций
    - Завершение работы скрипта

    Для pm2 завершение работы скрипта служит сигналом о том, что его необходимо перезапустить, даже если вы укажите параметр --cron. Для того, чтобы скрипт запускался действительно по крону, необходимо явно указать, что автоматический перезапуск не требуется, с помощью ключа --no-auorestart.

    Например:
    pm2 start index.js --cron "* * * * *" --no-autorestart
    Ответ написан
    Комментировать