2015-12-30 2 views
1

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

У меня есть разработчик, создающий мобильное приложение/API (php, mysql) для меня, и их решение кажется неустойчивым и ненадежным. Ищите лучший подход.

Возможность позволяет пользователю настроить экземпляр обратного отсчета - хранится в базе данных со временем начала и окончания времени в будущем. По достижении конечного времени необходимо выполнить действие.

В настоящее время решение использует демон на сервере, который запускается каждую минуту, чтобы проверить все завершенные конечные времена и выполнить действие на основе экземпляра обратного отсчета, который пользователь выбрал. Проблема в том, что, как я уже упоминал, это очень ненадежно. Когда он работает, он отлично работает. Но это часто не работает.

В клиенте (приложении), когда пользователь попадает на экран обратного отсчета, он проверяет время начала и окончания времени от API и запускает обратный отсчет в соответствующее время. Когда клиент достигает конечного времени, он обращается к API для проверки результатов действия и отображает его на клиенте.

Итак, длинный рассказ Я пытаюсь выяснить более стабильную альтернативу запуску демона на сервере, чтобы проверить время окончания и инициировать действие. Поскольку клиент ожидает, что действие будет завершено в конце времени, это должен быть быстрый и надежный процесс. Я рассмотрел возможность использования клиентского вызова API в качестве триггера для запуска действия, но если 40 других клиентов наблюдают один и тот же обратный отсчет и обращаются к API в то же время, я боюсь, что могу столкнуться с конфликтами.

Заранее благодарим за любые советы здесь!

ответ

0

Является пользователем на сайте все время? Я получаю что-то подобное, получая время начала, конвертируя его в минуты/секунды, а затем создавая обратный отсчет javascript, который ждет дополнительные 2 секунды после того, как это будет сделано (гарантирует, что таймер действительно закончен). Затем он делает AJAX вызов на PHP скрипт для завершения действия (который возвращает JSON строку.

Экономит на стороне сервера, и это только бежал, когда пользователь там и нужно его.

+0

Спасибо Дерек. Проблема здесь в том, что мне нужно что-то запустить действие на сервере перед вызовом с клиентской стороны, потому что одновременно будет несколько клиентов, обращающихся к одному и тому же обратному отсчету. Почти так же, как мне нужен наблюдатель на стороне сервера. – Emerge2001