OK, I turned up embperl debugging to include cache logging.  When I receive updated output from testscript.html I see the following in my embperl_log file:

==================================================================
[7934]CACHE: Created new CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html; expires_in=0 expires_func=no expires_filename=<PathEditedToProtectTheInnocent>/testscript.html cache=no
[7934]CACHE: Created new CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl; expires_in=0 expires_func=no expires_filename= cache=no
[7934]CACHE: Created new CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile:; expires_in=0 expires_func=no expires_filename= cache=yes
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html stat file <PathEditedToProtectTheInnocent>/testscript.html mtime=1162300803 size=111
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html expired because file <PathEditedToProtectTheInnocent>/testscript.html changed
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl expired because dependencies is expired or newer
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile: expired because dependencies is expired or newer
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile: get from provider
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl get from provider
[7934]Reading <PathEditedToProtectTheInnocent>/testscript.html as input using PerlIO (111 Bytes)...
[7934]CACHE: Update CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html; expires_in=0 expires_func=no expires_filename=<PathEditedToProtectTheInnocent>/testscript.html cache=no
[7934]CACHE: Update CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl; expires_in=0 expires_func=no expires_filename= cache=no
[7934]CACHE: Update CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile:; expires_in=0 expires_func=no expires_filename= cache=yes
[7934]CACHE: Update CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html; expires_in=0 expires_func=no expires_filename=<PathEditedToProtectTheInnocent>/testscript.html cache=no
[7934]CACHE: Update CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl; expires_in=0 expires_func=no expires_filename= cache=no
[7934]CACHE: Update CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile:; expires_in=0 expires_func=no expires_filename= cache=yes
[7934]CACHE: Created new CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile:*eprun:; expires_in=0 expires_func=no expires_filename= cache=no
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile:*eprun: expired because dependencies is expired or newer
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile:*eprun: get from provider
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl take from cache
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html take from cache
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile: get from provider
[7934]CACHE: Created new CacheItem *subreq:cgi-bin/testscript.pl; expires_in=0 expires_func=no expires_filename= cache=no
[7934]CACHE: Created new CacheItem *subreq:cgi-bin/testscript.pl*epparse:Embperl; expires_in=0 expires_func=no expires_filename= cache=no
[7934]CACHE: Created new CacheItem *subreq:cgi-bin/testscript.pl*epparse:Embperl*epcompile:; expires_in=0 expires_func=no expires_filename= cache=yes
[7934]CACHE: Created new CacheItem *subreq:cgi-bin/testscript.pl*epparse:Embperl*epcompile:*eprun:; expires_in=0 expires_func=no expires_filename= cache=no
[7934]CACHE: *subreq:cgi-bin/testscript.pl NOT expired
[7934]CACHE: *subreq:cgi-bin/testscript.pl*epparse:Embperl NOT expired
[7934]CACHE: *subreq:cgi-bin/testscript.pl*epparse:Embperl*epcompile: NOT expired
[7934]CACHE: *subreq:cgi-bin/testscript.pl*epparse:Embperl*epcompile:*eprun: NOT expired
[7934]CACHE: *subreq:cgi-bin/testscript.pl*epparse:Embperl*epcompile:*eprun: get from provider
[7934]CACHE: *subreq:cgi-bin/testscript.pl*epparse:Embperl*epcompile: get from provider
[7934]CACHE: *subreq:cgi-bin/testscript.pl*epparse:Embperl get from provider
==================================================================

I notice the "expired because dependencies is expired or newer" line above which makes sense to me since this would be the first time embperl saw the page after restarting Apache.

When I receive cached data with stale information I find the following:

==================================================================
[7934]CACHE: Free content for *file:<PathEditedToProtectTheInnocent>/testscript.html
[7934]CACHE: Free content for *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl
[7934]CACHE: Free content for *subreq:cgi-bin/testscript.pl
[7934]CACHE: Free content for *subreq:cgi-bin/testscript.pl*epparse:Embperl
[7934]CACHE: Free content for *subreq:cgi-bin/testscript.pl*epparse:Embperl*epcompile:*eprun:
[7934]CACHE: Free content for *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile:*eprun:
[7934]CACHE: Update CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html; expires_in=0 expires_func=no expires_filename=<PathEditedToProtectTheInnocent>/testscript.html cache=no
[7934]CACHE: Update CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl; expires_in=0 expires_func=no expires_filename= cache=no
[7934]CACHE: Update CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile:; expires_in=0 expires_func=no expires_filename= cache=yes
[7934]CACHE: Update CacheItem *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile:*eprun:; expires_in=0 expires_func=no expires_filename= cache=no
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile:*eprun: expired because provider C sub returned TRUE
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile:*eprun: get from provider
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html stat file <PathEditedToProtectTheInnocent>/testscript.html mtime=1162300803 size=111
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html NOT expired
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl NOT expired
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile: NOT expired
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl take from cache
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html take from cache
[7934]CACHE: *file:<PathEditedToProtectTheInnocent>/testscript.html*epparse:Embperl*epcompile: taken from cache
[7934]CACHE: Update CacheItem *subreq:cgi-bin/testscript.pl; expires_in=0 expires_func=no expires_filename= cache=no
[7934]CACHE: Update CacheItem *subreq:cgi-bin/testscript.pl*epparse:Embperl; expires_in=0 expires_func=no expires_filename= cache=no
[7934]CACHE: Update CacheItem *subreq:cgi-bin/testscript.pl*epparse:Embperl*epcompile:; expires_in=0 expires_func=no expires_filename= cache=yes
[7934]CACHE: Update CacheItem *subreq:cgi-bin/testscript.pl*epparse:Embperl*epcompile:*eprun:; expires_in=0 expires_func=no expires_filename= cache=no
[7934]CACHE: *subreq:cgi-bin/testscript.pl*epparse:Embperl*epcompile:*eprun: expired because provider C sub returned TRUE
[7934]CACHE: *subreq:cgi-bin/testscript.pl*epparse:Embperl*epcompile:*eprun: get from provider
[7934]CACHE: *subreq:cgi-bin/testscript.pl NOT expired
[7934]CACHE: *subreq:cgi-bin/testscript.pl*epparse:Embperl NOT expired
[7934]CACHE: *subreq:cgi-bin/testscript.pl*epparse:Embperl*epcompile: NOT expired
[7934]CACHE: *subreq:cgi-bin/testscript.pl*epparse:Embperl take from cache
[7934]CACHE: *subreq:cgi-bin/testscript.pl take from cache
[7934]CACHE: *subreq:cgi-bin/testscript.pl*epparse:Embperl*epcompile: taken from cache
==================================================================

Here I notice the "expired because provider C sub returned TRUE" which would fall inline with my EMBPERL_EXPIRES_FUNC "sub {1}" in httpd.conf.  But I then see "taken from cache" even though embperl did seem to notice the page had been expired.

-KineticSlam

Reply via email to