Мне нужен простой способ отправки SMS (через Nexmo SMS Gateway) каждому клиенту в заранее определенное время

Несколько человек уже порекомендовали RabbitMQ, IronMQ и множество других систем очередей сообщений.

Дело в том, что каждая из этих систем кажется огромным излишеством. Например, использовать турбодизель Cummins 6.7 для домашнего пылесоса. Это просто кажется таким нелепым - почти бесполезным излишеством.

Буквально все, что мне нужно, — это какая-то форма постоянства цикла, которая запрашивает таблицу ежедневных задач, получает время выполнения, номер мобильного телефона и предварительно сгенерированное сообщение, а затем отправляет SMS-сообщения каждому клиенту в любое указанное время.

Что-то вроде этого (это просто псевдокод):

$smsout =  new SMSFly;
$smsout->db_conn($db_un, $db_pw, $db_server, $port);
$smsout->db_stmt('SELECT * FROM `messages` ORDER BY `send_time` ASC');

$smsout->execution_time_col('send_time','H:i:s');

$smsout->execute('sendSMS');


function sendSMS($to, $message){

    $basic  = new \Nexmo\Client\Credentials\Basic(__APIKEY__, __APISECRET__);
    $client = new \Nexmo\Client($basic);

    $message = $client->message()->send([
    'to' => $to,
    'from' => 'Meeting Reminder',
    'text' => $message
    ]);
}

простая работа cron будет работать

user10051234 10.02.2019 23:03

Да, я думал об этом. Причины, по которым я отказываюсь от использования cron, следующие: а) Если сайт будет загружен (что весьма вероятно), задания cron прекратятся. Мне нужно иметь возможность создавать рабочих. б) если бы я запускал новое задание cron для каждого задания вместо того, чтобы запускать процессы создания задания cron для отправки сообщений, я наткнулся бы на очень странную стену. Cron имеет тенденцию становиться довольно странным, когда дело доходит до часовых поясов.

CreationTribe 11.02.2019 00:13

Даже локально разбить дату и время на задание cron, которое фактически запускается в эту точную дату и время, — сложное дело — по крайней мере, для меня. Но все еще существует проблема с выполнением заданий cron повсюду, что мне кажется рискованным. Я читал несколько неудачных опытов с такими системами.

CreationTribe 11.02.2019 00:14

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

user10051234 11.02.2019 01:42

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

CreationTribe 11.02.2019 06:27

Я использую cron в производстве для отправки многих тысяч счетов каждый день в течение многих лет.

user10051234 11.02.2019 21:09

ладно - фуггет - попробую.

CreationTribe 14.02.2019 03:25
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
7
146
0

Другие вопросы по теме