Apache не будет служить во время опроса

У меня есть настройка Wamp на моем компьютере с Windows 8.1, который я использую для разработки. Моя проблема в том, что Apache не будет показывать мне страницы из определенного веб-приложения, над которым я работаю, в разумные сроки, пока я запускаю скрипт, который выполняет опрос. Вот скрипт и его внутренняя реализация

window.fetch_messages = function () // I call this when my page is loaded
{
var last_message = $("div.message:last").attr('data-ai_id');
var project_id = getParameterByName('project-id'); // Another one of my helpers

$.ajax({
url:'project_messages',
type:'POST',
data:{ project_id:project_id, latest_message:last_message },
timeout:50000,
success:new_messages,
error:function(data){ console.log(data); setTimeout(fetch_messages(),50000); }
});

};

И бэкэнд

do
{
$messages = $this->mentor_model->query_messages($this->project_id,$this->viewer, $this->last_message_id);

if($messages)
break;

usleep(25000);
}
while(empty($messages));

echo json_encode($messages);
exit;

Это все работает, но я не могу работать должным образом, если apache не отвечает на мой другой запрос, чтобы перейти на другую страницу или что-то в разумное время. У меня есть другие веб-приложения на компьютере, и они будут нормально работать во время опроса, но само веб-приложение не будет отвечать на другие запросы в разумные сроки, и это происходит только тогда, когда я нахожусь на странице, которая использует этот скрипт. Как примечание, я также удостоверился, что mysql не давал проблем здесь, посещая другой wapp (coining) на localhost, который использует mysql, и он отвечает хорошо.

В чем дело apache? Есть ли какие-то настройки или что-то, что я должен изменить. Он должен быть в состоянии справиться с этим хорошо, так как это только я тестирование.

2

Решение

Это более чем менее проблемная проблема с ресурсом. Повсеместное использование сеансов было заблокировано, потому что рассматриваемый скрипт не разрешал использовать данные сеанса во время работы (потому что он использовал данные).

Просто session_write_close () Помещенный в цикл непосредственно перед вызовом usleep () / sleep () в скрипте решил мою проблему.

Размещение его в любом месте после использования данных сеанса должно решить ваши проблемы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]