Long polling и 503 ошибка сервера

wc3banderlog

Новичок
Добрый день!
Реализовывал механизм long polling для создания системы личных сообщений

Через некоторое время (на сайте только 2 человека, которые ведут диалог) сервер выпадает в 503 service temporarily unavailable. Хостится на обычной виртуальной машине, где по сути еще куча других клиентов хостера и нет возможности накатывать стороннее ПО (например установить демона phpdeamon, для работы с WebSockets)

Почему это может проиходить?
P.S. По сути, при диалоге двух пользователей на сервере должно крутиться 2 зацикленных процесса для каждого из пользователей, которые после возврата ответа, вызываются заново
 

AnrDaemon

Продвинутый новичок
Смотрите логи... Если логов нет, или в них нет нужных данных - создайте их!
Без информации определить, что реально ПРОИСХОДИТ - нереально.
Для начала ответьте на вопрос, кто именно выдаёт 503 ошибку.
 

wc3banderlog

Новичок
С проблемой справился. Сервер отключал скрипт по таймауту, после чего клиентский срипт опять делал подключение. После нескольких таких отключений в итоге сервер выпадал в 503.
Что сделал: не стал ждать когда сервер будет убивать мой скрипт по таймауту, а решил сделать свой и проблема исчезла, чат пашет как часы.

PHP:
$currentTime = microtime(true);
       
$delta = $currentTime - $startTime;
if ($delta > $maxDelay){
          $response['timeout'] = TRUE;
          exit(returnJSON($response));
}
 
Сверху