logo
Apache Lounge
Webmasters

 


About

Forum Index Downloads Search Register Log in  RSS Apache Lounge
 



Keep Server Online

If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.

or

Bitcoin

A donation makes a contribution towards the costs, the time and effort that's going in this site and building.

Thank You! Steffen

Apache Lounge is not sponsored by anyone.

Your donations will help to keep this site alive and well, and continuing the building of the binaries.



incremental page rendering not working

 
Post new topic   Reply to topic    Apache Forum Index -> Coding & Scripting Corner



View previous topic :: View next topic  
Author Message
Bob3Rocks



Joined: 03 Nov 2016
Posts: 2
Location: USA, Santa Rosa

PostPosted: Thu 03 Nov '16 20:19    Post subject: incremental page rendering not working Reply with quote

I have created a number of CGI tools which print output from a Perl script to a web page. Sometimes the output from a script can be very slow to complete, and in these cases it is nice to see the output which has completed in real time. That way the end user is not waiting several minutes for a response from the server. I think this is called "incremental page rendering" on the web browser side.

This has worked great on many servers where I have installed scripts; most recently, Fedora 20 (more specifically, NST-20) --

root@NST_20:~# httpd -V
Server version: Apache/2.4.10 (Fedora)
Server built: Dec 17 2014 10:28:55
Server's Module Magic Number: 20120211:36
Server loaded: APR 1.5.1, APR-UTIL 1.5.3
Compiled using: APR 1.5.1, APR-UTIL 1.5.3
Architecture: 32-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"

On a new server, Fedora 24 (NST-24), the incremental page rendering does not work --

root@NST24:~# httpd -V
Server version: Apache/2.4.23 (Fedora)
Server built: Jul 18 2016 15:38:14
Server's Module Magic Number: 20120211:61
Server loaded: APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"


I am sure there is a simple answer to this question, and I am still scratching my head trying to find it after much trial and error & Google searching.

Any insight would be appreciated.
Back to top
James Blond
Moderator


Joined: 19 Jan 2006
Posts: 6153
Location: Germany, Next to Hamburg

PostPosted: Sat 12 Nov '16 22:55    Post subject: Reply with quote

With other languages it is possible to use a flush() function to print a current output. I don't know if such a thing exists in perl.
Back to top
Bob3Rocks



Joined: 03 Nov 2016
Posts: 2
Location: USA, Santa Rosa

PostPosted: Thu 17 Nov '16 18:18    Post subject: Reply with quote

Thanks for the reply James Bond. I will look into that, although I've never used a function like that before to update the page. I think this must have to do with a security setting.
Back to top
glsmith
Moderator


Joined: 16 Oct 2007
Posts: 2092
Location: Sun Diego, USA

PostPosted: Thu 17 Nov '16 18:46    Post subject: Reply with quote

Isn't this called "Server Push," at least that's what I thought it was but in perl server push doesn't work on all browsers. Not with my test years ago.
Back to top
James Blond
Moderator


Joined: 19 Jan 2006
Posts: 6153
Location: Germany, Next to Hamburg

PostPosted: Sat 19 Nov '16 10:01    Post subject: Reply with quote

Googling a bit I found for perl autoflush from IO::

I'm not sure if that does the same as http://php.net/manual/en/function.flush.php

A different strategie could be running a few smaller script and get the content with ajax requests to the front end.
Back to top


Post new topic   Reply to topic    Apache Forum Index -> Coding & Scripting Corner
Page 1 of 1