@iDrugov
Хуже глупых вопросов только глупые ответы.

Как запустить демона на PHP?

Решил сделать простенького бота для ВК. Исполнил в SSH-консоли хостинга команду:
php adress/bot/index.php - работает только, пока вкладка открытая.

Прогуглил команду nohup с ключом & исполнил такие команды:
nohup php adress/bot/index.php &
nohup php adress/bot/index.php > /dev/null &

Но все они перестают работать при закрытии вкладки с консолью. Что-то так себе бот выходит, работающий только пока открыт мой браузер :)

В общем, вопрос в том, как запустить php-скрипт, чтобы он всегда работал.
  • Вопрос задан
  • 1496 просмотров
Решения вопроса 1
@iDrugov Автор вопроса
Хуже глупых вопросов только глупые ответы.
В общем, напишу ответ на тот случай, если кто-то будет в таком же затупе сидеть.

Конкретно на моём хостинге есть SSH-консоль и планировщик задач Crontab. Запуская файл через консоль, виртуальная машина работает до закрытия вкладки.

Crontab мог бы помочь, но его можно запускать лишь раз в 60 секунд — ограничение хостера. Поэтому, если запрос пришёл через 10 секунд, то на 50 секунд наступает тишина и затем Crontab заново запускает файл.

Вся эта баллада актуальна лишь для бота на LongPoll (VK API), потому что Callback API сам отправляет запрос на мой сервер и ждёт ответа "ок".

Соответственно, кому нужен бот на LP, вынужден покупать хотя бы виртуальный выделенный сервер.

Почему Callback не всегда подходит?
На LP можно выпустить себе несколько ключей, Callback можно привязать только к одному серверу. Если в сообществе уже есть что-то стороннее, использующее Callback, то или придётся это отвязывать для своего бота, или делать для бота другое сообщество, как я и поступил.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Keanor
@Keanor
Ведущий разработчик
Пиши обычный скрипт, и запускай через supervisor. Мы так консюмеров к очередям пользуем.
Ответ написан
Комментировать
@Redaicd
ноды, питоны... screen же есть для этого
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы