Задание Cron для отправки push-уведомлений

Я ищу наиболее надежное решение для этого сценария:

Сервер 1 обслуживает XML, обновляемый каждые 15 секунд (или реже) с живыми спортивными событиями (такими как голы, перерыв, конец матча).

Я использую OneSignal API для отправки push-уведомлений пользователям моего приложения (iOS и Android) каждый раз, когда XML приносит что-то новое.

Итак, что будет лучше?:

  • Задание cron с файлом PHP, чтение XML и запуск push-уведомлений, когда появляется что-то новое?
  • Что-то вроде Node будет лучше?

Меня беспокоит то, что если задание cron выполняется каждые, скажем, 10 секунд, рано или поздно оно может выйти из строя.

Итак, кто-нибудь может посоветовать в наиболее твердом решении сделать это? Спасибо.


person fana    schedule 25.04.2016    source источник
comment
cron работа лучшая   -  person JYoThI    schedule 25.04.2016
comment
Подумайте о чем-то другом, например, о службах очередей или очереди сообщений — например, iron.io, rabbitMQ, Gearman и т. д. Cron хорош для простых расписаний — есть ограниченные возможности для настройки cron, и они не будут зависеть от других задач, которые необходимо выполнить. .   -  person Himel Nag Rana    schedule 25.04.2016
comment
@HimelNagRana ​​Это хороший совет. Я собираюсь искать такие сервисы, как iron.io. Что-то, может быть, не слишком дорогое...   -  person fana    schedule 25.04.2016


Ответы (1)


Сам cron не может делать то, что вы хотите. Вы можете создать свою собственную рутину. Использование сна (но это не даст правильных результатов, так как не учитывает время, необходимое для запуска команды).
Cron допускает только минимум одну минуту.
Вы можете рассмотреть возможность написания сценария оболочки с бесконечным циклом, который запускает вашу задачу, а затем приостанавливается на x секунд, но, как я уже говорил, это не точно.



Изменить: здесь показано, как создать сценарий оболочки link1

person V. Sambor    schedule 25.04.2016
comment
Предполагая, что не имеет большого значения, когда именно запускается подпрограмма, и это не серьезно, если два экземпляра кода выполняются одновременно, можно запускать четыре разных сценария с интервалом в 1 минуту с помощью cron. У каждого сценария есть разное время ожидания, от 0 до 45 секунд, прежде чем он действительно сделает то, что ему нужно сделать. - person Chris Lear; 25.04.2016
comment
Что ж, точность важна, потому что одно и то же push-уведомление не может быть отправлено одним и тем же пользователям более одного раза... Я не знал об этом минимуме в одну минуту... - person fana; 25.04.2016