@zheka007

Почему сообщения пользователям от бота телеграмм приходят с задержкой?

Создан бот телеграмм, подключены пользователи. Скажем только избранные (70 человек), бот в группы не входит. Сервер обрабатывает определенные php скрипты по крону, и при наступлении нужного события (на которое подписан пользователь) пользователю отправляется оповещение.

Но проблема... не все сообщения приходят в нужное время, появляется задержка в 4 минуты. Было даже и 8 минут и 12.. в логи только не попало еще...

[29.09.17 20:04:38] | [chat_id]
[29.09.17 20:04:37] | [chat_id]
[29.09.17 20:04:36] | [chat_id]
[29.09.17 20:04:35] | [chat_id]
[29.09.17 20:04:34] | [chat_id]
[29.09.17 20:04:33] | [chat_id]
[29.09.17 20:04:32] | [chat_id]
[29.09.17 20:04:31] | [chat_id]
[29.09.17 20:04:30] | [chat_id]
[29.09.17 20:04:29] | [chat_id]
[29.09.17 20:04:28] | [chat_id]
[29.09.17 20:04:27] | [chat_id]
[29.09.17 20:04:26] | [chat_id]
[29.09.17 20:04:25] | [chat_id]
[29.09.17 20:04:24] | [chat_id]
[29.09.17 20:04:23] | [chat_id]
[29.09.17 20:04:22] | [chat_id]
[29.09.17 20:04:21] | [chat_id]
[29.09.17 20:04:20] | [chat_id]
[29.09.17 20:04:19] | [chat_id]
[29.09.17 20:04:17] | [chat_id]
[29.09.17 20:04:16] | [chat_id]
--- тут почему-то задержка в 4 минуты ---
[29.09.17 20:00:15] | [chat_id]
[29.09.17 20:00:14] | [chat_id]
[29.09.17 20:00:13] | [chat_id]
[29.09.17 20:00:12] | [chat_id]
[29.09.17 20:00:11] | [chat_id]
[29.09.17 20:00:10] | [chat_id]
[29.09.17 20:00:09] | [chat_id]
[29.09.17 20:00:08] | [chat_id]
[29.09.17 20:00:07] | [chat_id]
[29.09.17 20:00:06] | [chat_id]
[29.09.17 20:00:05] | [chat_id]
[29.09.17 20:00:04] | [chat_id]
[29.09.17 20:00:03] | [chat_id]

Вот еще пример:

[29.09.17 18:34:56] | [chat_id]
[29.09.17 18:34:54] | [chat_id]
[29.09.17 18:34:53] | [chat_id]
[29.09.17 18:34:52] | [chat_id]
[29.09.17 18:34:50] | [chat_id]
[29.09.17 18:34:49] | [chat_id]
[29.09.17 18:34:47] | [chat_id]
--- тут почему-то задержка в 4 минуты ---
[29.09.17 18:30:46] | [chat_id]
[29.09.17 18:30:44] | [chat_id]
[29.09.17 18:30:43] | [chat_id]
[29.09.17 18:30:41] | [chat_id]
[29.09.17 18:30:40] | [chat_id]
[29.09.17 18:30:39] | [chat_id]
[29.09.17 18:30:37] | [chat_id]
[29.09.17 18:30:36] | [chat_id]
[29.09.17 18:30:34] | [chat_id]
[29.09.17 18:30:32] | [chat_id]
[29.09.17 18:30:31] | [chat_id]
[29.09.17 18:30:30] | [chat_id]
[29.09.17 18:30:28] | [chat_id]
[29.09.17 18:30:27] | [chat_id]
[29.09.17 18:30:25] | [chat_id]
[29.09.17 18:30:24] | [chat_id]
[29.09.17 18:30:22] | [chat_id]
[29.09.17 18:30:21] | [chat_id]
[29.09.17 18:30:19] | [chat_id]
[29.09.17 18:30:17] | [chat_id]
[29.09.17 18:30:16] | [chat_id]
[29.09.17 18:30:15] | [chat_id]
[29.09.17 18:30:13] | [chat_id]
[29.09.17 18:30:12] | [chat_id]
[29.09.17 18:30:10] | [chat_id]
[29.09.17 18:30:09] | [chat_id]
[29.09.17 18:30:07] | [chat_id]
[29.09.17 18:30:06] | [chat_id]
[29.09.17 18:30:04] | [chat_id]
[29.09.17 18:30:03] | [chat_id]

Когда происходит какое-то событие, например if ($a == $b)
вызывается функция
sendMessage_telegram($telegram_chat_id, $message);

Сама функция лежит в файле connect.php (подключение к бд) с токенами бота:
function sendMessage_telegram($telegram_chat_id, $message) {
		usleep(1100000);
		file_get_contents($GLOBALS['api_telegram'] . '/sendMessage?chat_id=' . $telegram_chat_id . '&text=' . urlencode($message));
		$data_sendMessage = date ("d.m.y H:i:s");
		mysql_query(" INSERT INTO `telegram_sendMessage`(`data`,`chat_id`,`text`) VALUES ('$data_sendMessage','$telegram_chat_id','$message') ");
	}


Я поставил задержку перед отправкой в 1,1 сек. (подумал этого то должно хватить) так как в API ТГ написано, что нельзя отправлять больше 30 сообщений в секунду, но все равно мимо...
После отправки поставил запись логов, когда пользователи начали жаловаться, что оповещения приходит не вовремя.

В чем может быть косяк? Настройка сервера? Бота? php?
Это блокировка от ТГ или что-то другое?
  • Вопрос задан
  • 2908 просмотров
Решения вопроса 1
Думаю у вас при оббработке по крону следующий крон запускает скрипт когда он ещё не закончил обработку предыдущего крона, потом ещё раз, из-за этого возникают тормоза и задержки
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@nllm
Надо весь код бота смотреть, иначе будет трудно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
23 апр. 2024, в 20:08
400000 руб./за проект
23 апр. 2024, в 19:21
300 руб./за проект
23 апр. 2024, в 19:05
15000 руб./за проект