Построчный вывод CGI скрипта

Alex Emergy alex.emergy на gmail.com
Пт Дек 17 11:40:31 GMT 2010


у скрипта есть цикл. В цикле:
print "$bla1 $bla2 $bla3\n";
вывод каждой строки примерно около секунды. Строк много.

Подробности:
скрипт лезет на маршрутизатор, вводит там команду:
sh ip nat translations (показывает все активные трансляции)
подсчитывает количество трансляций на каждый ip, сортирует по убыванию.
далее идет цикл на каждый ip:
берет из arp таблицы MAC айпишника, ищет его на коммутаторах
выводит(обычный print):
кол-во трансляций, ip, ip-свича, порт, MAC, производителя MAC'а, 
дескрипшон. На все уходит время. И по большому счету первые строки самые 
важные т.к. показывают тех у кого больше, но когда приходится ждать 
около 3 минут - это вообще не айс :(

Файлов он никаких не пишет, просто выводит информацию



17.12.2010 14:04, Andrew Bondarenko пишет:
> On 12/17/2010 12:36 PM, Alex Emergy wrote:
>> Есть у меня самописный CGI скрипт на Perl, который ходит по цискам и
>> выводит некую информацию о пользователях на веб морду (apache). Работает
>> он достаточно медленно. Проблема в том, что когда он жил на старом
>> сервере (Ubuntu 8.04), он выводил информацию построчно. Т.е. выводил
>> информацию до того как полностью отработал. На новом же сервере (Ubuntu
>> 10.04, понимаю конечно, что дело не в версии OC) он выводит информацию,
>> только после того как полностью отработает.
>>
>> Раньше я видел как на веб страничке у меня "в живую" появляется по одной
>> строчке, а теперь через длительное время вся страничка. Куда копать и
>> что конкретно гуглить ума не приложу.
>>
>> Есть идеи, как добиться поведения как на старом сервере?
>>
>
> А кто есть кто?
> Именно скрипт не переписывает файл на сервере пока до конца не
> выполнится, или сервер так хитро отдает старый файл?
> В первом случае - либо это что-то perl-специфичное изменили, либо я бы
> посмотрел в сторону flush для начала, если такое есть в perl.
> Во втором - а что если открывать файлик перед каждой записью строки в
> него и закрывать после? =)
>
>

-- 
С уважением,
Alex Emergy



Подробная информация о списке рассылки ubuntu-ru