Несколько человек уже порекомендовали 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, следующие: а) Если сайт будет загружен (что весьма вероятно), задания cron прекратятся. Мне нужно иметь возможность создавать рабочих. б) если бы я запускал новое задание cron для каждого задания вместо того, чтобы запускать процессы создания задания cron для отправки сообщений, я наткнулся бы на очень странную стену. Cron имеет тенденцию становиться довольно странным, когда дело доходит до часовых поясов.
Даже локально разбить дату и время на задание cron, которое фактически запускается в эту точную дату и время, — сложное дело — по крайней мере, для меня. Но все еще существует проблема с выполнением заданий cron повсюду, что мне кажется рискованным. Я читал несколько неудачных опытов с такими системами.
одно задание cron проверяет базу данных каждые X минут, чтобы решить, отправлять смс или нет, я действительно не понимаю ваших возражений против этого.
Я имею в виду - думаю, я могу попробовать - если там действительно нет ничего такого легкого, как мне хотелось бы. Но я просто слышал так много ужасных историй о том, как cron используется в производстве, подобном этому.
Я использую cron в производстве для отправки многих тысяч счетов каждый день в течение многих лет.
ладно - фуггет - попробую.






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