@accountnujen

Как ответить сразу и продолжить выполнять скрипт?

Телеграмм даёт минуту на выполнение скрипта. Если ответ не поступил - телеграм снова сделает запрос. Я не хочу заморачиваться с rabbitMQ, поэтому хочу просто наколхозить ответ.
Я погуглил и увидел вот это:
ignore_user_abort(true);
set_time_limit(0);
ob_start();
header('Connection: close');
header('Content-Length: '.ob_get_length());
ob_end_flush();
ob_flush();
flush();

только оно у меня почему-то не работает. Телеграм всё равно продолжает долбить. Подскажите, что я делаю не так?
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега PHP
Не хочешь использовать rabbitmq, используй хотя бы крон.
Если у тебя задачи выполняются дольше минуты, то надо принять это и реализовать функционал по-человечески:
1. Принимаем запрос из внешней системы, складываем в очередь, отвечаем внешней системе
2. В фоновом режиме находим все необработанные задачи и обрабатываем их, тратя на это столько времени, сколько потребуется.

PS А если тебе важно предоставить результат работы твоего скрипта внешней системе, то надо разобраться что у тебя там целую минуту делается.
Минута - это очень много. У меня ОС в 3 раза быстрее грузится, а там 100% больше функционала чем в твоём скрипте.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы