С каким интервалом времени установить команды на cron?
Существует 8 консольных команд, которые отправляют пуш-уведомления. Вот первые 4:
1. push/send-push-list-ios-odd - отправляет уведомления на Ios (нечетные записи)
2. push/send-push-list-ios-even - отправляет уведомления на Ios (четные записи)
3. push/send-push-list-android-odd - отправляет уведомления на android (нечетные записи)
4. push/send-push-list-android-even - отправляет уведомления на android (четные записи)
Остальные 4 аналогичные, только у них немного другая выборка данных, что не играет роли, делают они то же самое.
Тесты:
Тестировал на локалке (openServer) и была такая ситуация: 783к пуш-уведомлений, из них половина на ios (391к), половина на android (391к).
Запустил push/send-push-list-ios-odd, которая отправила 191к тестовых пушей за 39 мин. Соответственно и остальные команды будут выполняться плюс минус в этом интервале времени.
Вопрос: с каким интервалом времени установить эти команды на крон, чтобы они не мешали друг другу, при этом выполнялись несколько раз в день (чем чаще, тем лучше). Также стоит уточнить, что каждая команда запускает процедуру, а по окончании работы, завершает ее. И если процедура будет активна, но запустится другая команда, то она просто скипнет свою очередь и не выполнится.
P.S. Как рекомендовали в комментариях, правильнее работать с очередями задач, а не через крон. Если в проекте нет RabbitMQ / NATS и т.п., наиболее легковесным вариантом будет Redis
Делайте не через крон, а через systemd-таймеры - там есть масса настроек, относящихся к совместным запускам сервисов, зависимостям, непересекаемости и т. д.