@vovaaar

Как правильно запустить обработку квеста игры?

Добрый день.

Есть база данных где хранятся квесты:
5de8b8c76c1ce851473219.png
Необходимо сделать регистрацию на каждый квест (к примеру регистрация будет в одном квесте 3 часа, а в другом 5 часов) => я делаю это так: прохожу раз в час кроном и проверяю время регистраций, если какое то вышло, то меняю статус квеста на "запущен"

Суть квеста: игроки ходят по карте и кликают куда хотят пойти + сражаются. Будет таблица для данных этой карты и другой крон будет запускать скрипт к примеру раз в 10 секунд для обновления данных в этой таблице + буду дергать на фронт данные и обновлять визуальзицию.

Вопрос: не могу понять как именно запустить крон который будет обновлять таблицу с данными. Крон должен запуститься только тогда, когда статус квеста будет "запущен". То есть один крон должен ходить по квестам и менять статусы, а второй должен запускать обновление таблицы с данными каждого квеста. Но второй должен запуститься только при активности квеста а не просто так по времени. Активность квеста можно проверить выдернув данные из бд и проверив статус. Соответственно если статус изменился на неактивный, второй крон должен тормозить работу

Есть мысль: оба крона запущены сразу, к примеру один раз в 1 час, второй раз в 10 секунд. Во втором постоянно проверяется статус (php) и если он неактивен, завершаем скрипт. Квестов будет много, поэтому внутри скрипта php нужно проверять какой квест выполнять и через include подцеплять нужную логику каждого квеста и выполнять (изменять строки с данными по каждому квесту) Но не знаю на сколько это правильно.

Всем добра!
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ответы на вопрос 1
@zhaar
Так для Крона, который ходит по запущенным квестам напиши такой запрос, который будет проверять этот статус. Т.е. он пройдет по всем квестам, но внесет изменение только в те where status=1
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы