Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Безпрерывная работа скрипта
Форумы портала PHP.SU » » Вопросы новичков » Безпрерывная работа скрипта

Страниц (1): [1]
 

1. olexiy86 - 22 Июня, 2017 - 22:54:02 - перейти к сообщению
Hello, мне нужно запустить на виртуальном сервере скрипт который постоянно слушает соккет и отдаёт результат. Как только выхожу из консоли скрипт выключается. Какие есть современные решения похожие на forever для node? Почитал на хабре, но там всё за 2012 год....
2. Мелкий - 22 Июня, 2017 - 23:11:20 - перейти к сообщению
Запустите через supervisord
3. Vladimir Kheifets - 23 Июня, 2017 - 07:06:15 - перейти к сообщению
Добрый день! Вы могли использовать cron, и запускать скрипт, например, через каждые 5 минут , указав в crontab :
*/5 * * * * /usr/bin/php56 /usr/home/.................../xxxxx.php
Скрирт xxxxx.php будет слушать соккет и отдавать результат, почти постоянно.
4. OrmaJever - 23 Июня, 2017 - 12:47:00 - перейти к сообщению
Vladimir Kheifets и что с этого будет? Если скрипт будет в бесконечном цикле то через час будет уже 30 копий скрипта, а если нет то ничего слушать он не сможет
5. arbuzmaster - 23 Июня, 2017 - 22:07:42 - перейти к сообщению
У Вас есть как минимум 2 варианта!
1 - запуск скрипта по cron-у с вызовом при перезагрузке системы *(@reboot вместо времени )
2 - через команду exec с выводом в null из php скрипта
PHP:
скопировать код в буфер обмена
  1. exec('php WSclient.php >/dev/null &');
6. Vladimir Kheifets - 24 Июня, 2017 - 13:03:56 - перейти к сообщению
OrmaJever пишет:
Vladimir Kheifets и что с этого будет? Если скрипт будет в бесконечном цикле то через час будет уже 30 копий скрипта, а если нет то ничего слушать он не сможет

Добрый день!
А Вы пробовали так делать?
Чтобы в скрипт "не был в бесконечном цикле" нужно в нём обязательно задавать timeout.
Затем нужно будет подобрать такт запуска скрипта в crontab и значение timeout в скрипте.
Проверяется это очень просто.
Такт увеличивается, например, до 15 минут и в crontab
добавляется: MAILTO="test@test.de" и в скрипт ставится отладочная печать.
7. olexiy86 - 27 Июня, 2017 - 12:44:10 - перейти к сообщению
Мелкий Это самое грамотное решение !!!! У меня не просто хостинг, а выделенный сервер, так что разобравшись с supervisor я имею постоянно запущенное приложение!!
(Добавление)
Vladimir Kheifets Вот это всё костыли, я даже не пробовал. Запустил через supervisor

 

Powered by ExBB FM 1.0 RC1