Как правильно реализовать запланированные push-уведомления?

Я делаю проект в Laravel. Я хочу отправлять push-уведомления разным пользователям в разное время. Как я могу назначить время наблюдения для пользователя, которое может быть различным для каждого пользователя. Я выполнил поиск и узнал, что мы можем использовать концепцию заданий cron, но для этого мне нужно запускать задания cron каждую минуту, чтобы я мог проверить, пришло ли время отправлять push-уведомления или нет.
Можно ли запускать работу cron каждую минуту? потому что я думаю, это увеличит нагрузку на сервер.

Может ли кто-нибудь дать мне совет для этого, так как я новичок в этой концепции, я действительно не понимаю, что делать в этой ситуации.

0

Решение

Задание Cron — это запланированное задание, которое вы можете запускать в любой промежуток времени. Это нормально, чтобы запустить его каждую 1 минуту в зависимости от ваших требований.

Вы можете повысить эффективность своего cron в такой ситуации.

Вы запускаете файл -> Проверьте, есть ли у вас какие-либо уведомления для отправки -> Если вы продолжите свою логику.

Если у вас нет ничего, вы можете просто exit;

Это означает, что он будет давать некоторую нагрузку на сервер, только когда у вас есть что-то делать (что мы должны делать). Запуск cron каждую минуту не даст вам огромную нагрузку на сервер (опять же, зависит от того, насколько хорошо вы структурируете ваши запросы кода / базы данных для оптимизации использования)

Надеюсь, что это даст вам некоторое преимущество!

1

Другие решения

Мы можем добавить cron в системы согласно нашему удобному времени. Используйте следующий код, чтобы добавить код, чтобы отправить уведомление пользователю, у которого есть доступ к сети.

$loc_cron_min   = 30;
$loc_cron_hour  = 12;
$loc_cron_date  = 20;
$loc_cron_month = 01;

exec('echo -e "`crontab -l`\n'.$loc_cron_min.' '.$loc_cron_hour.' '.$loc_cron_date.' '.$loc_cron_month.' * wget -qO /dev/null http://example.com/cron/sendsnotification.php?userid=1" | crontab -');

Мы можем увидеть все расписание cron, используя следующую строку в php

$output = shell_exec('crontab -l');
echo $output;

Согласно вышеуказанному коду, уведомление будет отправлено 20 января 2017 года в 12:30. Так что вам не нужно выполнять cron каждую минуту. Вы можете удалить cron после успешного исключения.

Спасибо

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector