Запуск сценария node.js на хосте сновидений с помощью cron или shell_exec()

Я хотел бы запускать скрипт узла на моем общем сервере в Dreamhost один раз в x минут. Я создал задачу cron для выполнения:

cd /home/path && node app.js

Но, похоже, это не сработает. Я также пытался вставить то же утверждение в команду shell_exec в php, но скрипт все еще не выполняется (возможно, не полностью). Когда я запускаю эту команду вручную, все работает нормально.

Единственное, о чем я могу думать, это то, что сценарию нужно около 15 секунд, что может быть слишком длинным?


Для тех, кто ищет этот ответ: запуск приложения nodejs на общем сервере Dreamhost кажется ограниченным (например, здесь, но также можно найти на страницах поддержки DreamHost)

1 ответ

Сценарий долго не должен быть проблемой.

Было бы неплохо, если бы вы покопались в логах и выяснили, в чем ошибка, моя ставка - это само собой разумеется.

Между тем, я подозреваю, что причина в звонке node без использования полного пути. Cronjob скрипты не имеют PATH настроен, в результате вызова node очень вероятно вернется unknown command, Решение будет: напишите в терминале which node чтобы увидеть полный путь, а затем использовать его вместо.

В результате ваш скрипт cronjob будет выглядеть примерно так:

cd /home/path && /usr/local/bin/node app.js

Предоставленный узел находится в /usr/local/bin

Чтобы просмотреть ошибки в команде запуска cronjob: grep CRON /var/log/syslog

Другие вопросы по тегам