fcgi и загрузка проца на 100%

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Just_Sanek
незнакомец
Сообщения: 3
Зарегистрирован: 21.07.2011 18:45:17

fcgi и загрузка проца на 100%

Сообщение Just_Sanek »

Здраствуйте.
А подскажите такой момент...
Набросал для интереса простейший fcgi из комплекта Lazarus 0.9.30. Все гуд но вот незадача: кушает она 100% проца (на одноядерной машине). Что я не так делаю? Очень простейший и банальнейший пример "Здраствуй мир!!!"
Аватара пользователя
Brainenjii
энтузиаст
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Brainenjii »

Без кода сложно что-либо сказать ^_^
Just_Sanek
незнакомец
Сообщения: 3
Зарегистрирован: 21.07.2011 18:45:17

Сообщение Just_Sanek »

Значит такая последовательность:
В среде выполняем Файл-Создать...-Приложение FastCGI. В FPWebModule1 в Actions добавляем одну строчку и выставляем его Default в True. В OnResponse пишем код следующего содержание:

Код: Выделить всё

AResponse.Content:='Hello!!!';

Компилируем, запускаем и... процесс fcgiproject1.exe получает в свое распоряжение 99%.
Конечно используется компонент из стандартной поставки weblaz.
Повторюсь еще раз: Lazarus 0.9.30 release for Windows.

P.S. Пардон если грубо.
Аватара пользователя
hinst
энтузиаст
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Сообщение hinst »

пардон, а разве приложение CGI не должно запускаться не напрямую, а веб-сервером. :shock: Веб-сервером, причём, в тот момент, когда юзверь запросил нужную страницу? CGI-приложение, оно генерит страницы
А вы... Ну и толку вы его запускаете? Куда этот самый ваш контент 'Hello!!!' идёт? Он должен идти через сервер на страницу. А так, вы не правильно по-моему делаете. :roll:
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

hinst FastCGI немного другое.
Odyssey
энтузиаст
Сообщения: 580
Зарегистрирован: 29.11.2007 16:32:24

Сообщение Odyssey »

Just_Sanek писал(а):Что я не так делаю? Очень простейший и банальнейший пример "Здраствуй мир!!!"

Ответ на этот вопрос проще всего будет получить в рассылке FPC или Lazarus, у разработчиков fpWeb и weblaz. Правда рассылка на английском, если с ним проблемы - google translate в помощь. Прежде чем спрашивать, имеет смысл перепроверить наличие проблемы в Lazarus 0.9.31, взяв его из svn или из снапшотов.
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

Если не нравится 100% загрузка ядра, используйте sleep, пора уже это в вики записать.
Just_Sanek
незнакомец
Сообщения: 3
Зарегистрирован: 21.07.2011 18:45:17

Сообщение Just_Sanek »

Пардон что долго не отвечал.
на счет 0.9.31 чет не догадался заглянуть, упустил, каюсь :( .
С техническим английским как-бы проблем нету (про гугл в курсе :))
Если не нравится 100% загрузка ядра, используйте sleep, пора уже это в вики записать.

Что вы имеете ввиду этим? Делать какую-либо задержку между операциями? Смысл то не в том что тяжелая операция, а в том что в режиме ожидания...

Всем спасибо за помощь.
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

Just_Sanek писал(а):Что вы имеете ввиду этим? Делать какую-либо задержку между операциями? Смысл то не в том что тяжелая операция, а в том что в режиме ожидания...
Посмотри на загрузку проца и температуру до запуска нетяжёлой операции и после :)

Код: Выделить всё

uses crt;
var
q:byte;
begin
delay(1000);
for q:=1 to 255 do if keypressed= true then readkey;
while keypressed=false do begin
                          writeln('компьютер ожидает нажатия клавиши');
                          //delay(1);
                          end;
end.
Ответить