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/

Reply via email to