Have you checked your libraries for errors? (might have to disable
the library and put code in test routine)
Had a case last year where houeskeeper was trying to load a library
with a bad error and it crashed housekeeper (actually it was a bug
that I'm sure was fixed in the current version that tried to load a
"._foo.a4l" file left behind by TextMate).
I think I saw this a few weeks ago on our server, but after a
restart, it has not shown up again.
Does housekeeper start and run okay for a while, or does it crash on
start?
Couple other comments below.
Steve
On Aug 22, 2007, at 3:43 AM, James Wright wrote:
Michael,
Interesting!
We've had problems with lots of sessions not ending also.
The problem is intermittent and very hard to trace. To be honest
I've not
noticed if the housekeeper process has ended, I'll keep an eye on
my servers
and when they exhibit this problem I'll check the process!
Perhaps I can then add something that might shed some light on the
issue.
Best
James.
On 21/8/07 23:15, "Michael Check" <[EMAIL PROTECTED]> wrote:
To be clear, I don't think it is this abandon session code that is
the
problem. On our test server (indentical to the production server
with
the issue), restarting the server and calling a different site that
calls the abandon session, but does not package it and write it to
the
database, a zombie is created immediately.
The housekeeper is not running as it should.
There are no errors in the error log.
On 8/21/07, Michael Check <[EMAIL PROTECTED]> wrote:
Using A4D 402 and 4D 2004.5 server/client on OSX.3.9
We have a site that members use to change their registrations and
personal data. This site, as far as we know, has been running OK
for
about 6mo, but now has started to accumulate zombies and not clean
sessions correctly.
We do have On Abandon Session code running that saves the session
to a
blob and to their record. The record is unloaded after the query/
save
happens.
With zombies created, the Abandon Session code is not being run.
And
therefore the sessions are not being saved. Ugh.
We have log level 7 and have examined the error log to see if there
are syntax errors, there are none that we can see.
So my questions are this:
* Can we jumpstart the housekeeper to clean up the sessions properly
Have not tried this, but you might be able to copy the code out
a4d_init and wrap it in a method that would restart the process. It
would be better to find the cause.
* If so, is there ANY possibility that save session code will run
and
save the data?
* How can we troubleshoot/solve this issue?
Might have to get logging version of A4D plugin but you need to try
to find out what is crashing housekeeper.
FROM Active4D.a4l
method "On Session End"
if (session has("sessionType"))
case of
:(session{"sessionType"}="PRDU")
PR_Lib.saveSession
PR_dataUpdate.clearGlobals
:(session{"sessionType"}="PR_APP")
PR_Lib.saveAPPSession
PR_application.clearAppGlobals
end case
end if
end method
FROM PR_Lib.a4l
method "saveSession"
if(session{"state"}#"Read Only") //only save the
session if
the
update wasn't already submitted
if(session{"Modified"})
C_blob($sessionBlob)
$sessionBlob:=PR_SessionConvert.sessionToBlobObject
query([WebPortal];[WebPortal]
TypeID =
num(session{"personID"}))
if (records in selection
([WebPortal])=0)
// get a new highest
index number and
increment by 1
// wait if another app id
is being
retrieved
while
(semaphore("prdus_create.load"))
// wait
end while
c_longint($id)
READ ONLY([webportal])
SCAN
INDEX([webportal]webportalID;1;<)
$id:=[webportal]
webportalid+1
//create the new account
create record ([WebPortal])
[webportal]webportalID:=$id
[WebPortal]
Created:=current date
[WebPortal]Type:="PRDUS"
[WebPortal]TypeID:=num(session{"personID"})
[WebPortal]TypeLabel:=session{"person"}{"last"}{1} + ", " +
session{"person"}{"first"}{1}+" ("+session{"peerReviewIDNum"}+")"
[WebPortal]Session:=
$sessionBlob
[WebPortal]
modified:=current date
save record ([WebPortal])
clear semaphore
("prdus_create.load")
else
if(a4d.utils.unlockAndLoad(->[WebPortal]))
[WebPortal]Session:=$sessionBlob
[WebPortal]
modified:=current
date
save record
([WebPortal])
end if
end if
unload record([WebPortal])
session{"Modified"}:=false
end if
end if
end method
_______________________________________________
Active4D-dev mailing list
[email protected]
http://mailman.aparajitaworld.com/mailman/listinfo/active4d-dev
Archives: http://mailman.aparajitaworld.com/archive/active4d-dev/
_______________________________________________
Active4D-dev mailing list
[email protected]
http://mailman.aparajitaworld.com/mailman/listinfo/active4d-dev
Archives: http://mailman.aparajitaworld.com/archive/active4d-dev/
_______________________________________________
Active4D-dev mailing list
[email protected]
http://mailman.aparajitaworld.com/mailman/listinfo/active4d-dev
Archives: http://mailman.aparajitaworld.com/archive/active4d-dev/