Доброго времени суток!
В небольшом приложении есть система сообщений, которая работает полностью на mysql. И иногда требуется сделать рассылку сразу нескольким пользователям.
Когда нужно отправить сообщение для менее чем 500 пользователей - php скрипт отлично срабатывает. Но вот для более большого количества часто случаются дубли, если делать так:
<?
$query = "SELECT `serial_num` FROM lua_account WHERE `last_login` >= '2018-06-11 00:00:00'";
$res = mysql_query( $query );
while ($item = mysql_fetch_array($res))
{
$text = "Текст сообщения";
$temp = "SELECT count(*) as count FROM lua_message WHERE `serial` = '{$item['serial_num']}' AND `Header` LIKE 'Заголовок'";
$res_temp = mysql_query($temp);
$rows = mysql_fetch_array($res_temp);
$message = $rows[0];
if ($message == 0)
{
send_message($item['serial_num'], "Автор", "Заголовок", $text);
$count += 1;
}
}
send_message() - просто добавляет значение через INSERT INTO.
Добавлять задержку через wait - пробовал. Скрипт постоянно падает по долгому ожиданию.
Суть вопроса:
Как можно сделать подобное на javascript? т.е. получает таблицу из идентификаторов пользователей, и отправляем по 5 сообщений с ожидаем секунду, а в это время на экране показывается прогресс.