Как заставить сервер выполнять задачи за обычным веб-сайтом PHP / SQL? - PullRequest
0 голосов
/ 09 ноября 2018

Как понять, что задачи рассчитываются за Веб-сайтом, то есть обычным веб-сайтом php / Mysql, без запуска пользователем веб-сайта, например автоматическое удаление комнаты чата из базы данных sql, когда пользователь, создавший ее, переходит в автономный режим , в простом чате с пользовательскими комнатами? Другой пример - браузерная игра на основе текста и изображений, где каждые 5 минут (в серверное время) рассчитываются все перемещения юнитов и возможные бои между пользователями на игровой карте на основе изображений, когда 2 или более пользователей встречаются на одной плитке карты? Рассчитанный урон возвращается на сайт PHP / Ajax

1 Ответ

0 голосов
/ 09 ноября 2018

Для запуска задач с интервалом (т. Е. Каждые пять минут) вы должны использовать задание CRON. Чтобы настроить это, будет зависеть от того, какой сервер вы используете. Если у вас есть серверный графический интерфейс, такой как CPANEL или PLESK, должны быть элементы управления для настройки заданий CRON. По сути, вы вводите время в этом формате

минута, час, день, месяц, день недели

так 1 * * * * будет работать на 1-й минуте каждого часа, каждый день.

Вы указываете это на команду - возможно, скрипт оболочки, который будет запускать все, что вам нужно.

Чтобы сообщить это обратно «серверу», вы просто обновите свою базу данных или хранилище данных, которое используете в своей работе cron.

Итак, в вашем первом примере, чтобы делать что-то каждые пять минут, вы должны делать

* / 5 * * * * /path/to/script.sh

Затем в этом сценарии выполните все необходимые операции и сохраните их обратно в БД.

Если вы используете графический интерфейс администратора сервера, как упоминалось ранее, проще всего зайти туда, найти вкладку заданий cron и ввести ее.

Если вы просто управляете своим сервером с доступом к оболочке, вам нужно поместить его в свой crontab. Команда для этого может зависеть от используемой вами ОС, но, вероятно,

crontab -e 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...