Tested upcoming release with the following script:
~/git/dist $ cat ../dtach.py
import omero, time
c = omero.client("localhost")
s = c.createSession()
s.detachOnDestroy()
uuid = c.getSessionId()
c.closeSession()
print "Attached to %s" % uuid
print time.ctime()
def login():
print time.ctime()
print "Joining %s..." % uuid
c.joinSession(uuid)
Console output:
~/git/dist $ bin/omero config set omero.sessions.timeout 36000000
b~/git/dist $ bin/omero admin restart
Waiting on shutdown. Use CTRL-C to exit
.No descriptor given. Using etc/grid/default.xml
Waiting on startup. Use CTRL-C to exit
~/git/dist $ PYTHONPATH=$PYTHONPATH:lib/python python -i ../dtach.py
Attached to beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0
Fri Jun 10 10:52:22 2011
>>> time.ctime()
'Fri Jun 10 10:59:35 2011'
>>> time.ctime()
'Fri Jun 10 11:01:28 2011'
>>> time.ctime()
'Fri Jun 10 11:04:31 2011'
>>> time.ctime()
'Fri Jun 10 11:12:26 2011'
>>> login()
Fri Jun 10 11:34:47 2011
Joining beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0...
>>>
Log:
~/git/dist $ tail -f var/log/Blitz-0.log | grep beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0
2011-06-10 10:52:22,644 DEBUG [e.services.sessions.SessionContext$Count] (l.Server-1) +Reference count: beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0=1
2011-06-10 10:52:22,644 DEBUG [ome.services.sessions.state.CacheFactory] (l.Server-1) Creating new EHCache cache region 'memory:beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0'
2011-06-10 10:52:22,650 INFO [ ome.services.blitz.fire.SessionManagerI] (l.Server-1) Created session ServiceFactoryI(session-f60ef632-78b6-4f9b-a155-bfc5b5879908/beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0) for user jmoore (agent=OMERO.py)
2011-06-10 10:52:22,653 DEBUG [ ome.services.blitz.impl.ServiceFactoryI] (l.Server-0) destroy(ServiceFactoryI(session-f60ef632-78b6-4f9b-a155-bfc5b5879908/beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0))
2011-06-10 10:52:22,653 INFO [e.services.sessions.SessionContext$Count] (l.Server-0) -Reference count: beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0=0
2011-06-10 11:20:51,602 INFO [ ome.services.util.ServiceHandler] (3-thread-3) Executor.doWork -- ome.services.sessions.SessionManagerImpl.reload(beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0)
2011-06-10 11:22:51,602 INFO [ ome.services.util.ServiceHandler] (3-thread-2) Executor.doWork -- ome.services.sessions.SessionManagerImpl.reload(beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0)
2011-06-10 11:24:51,605 INFO [ ome.services.util.ServiceHandler] (3-thread-4) Executor.doWork -- ome.services.sessions.SessionManagerImpl.reload(beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0)
2011-06-10 11:26:51,599 INFO [ ome.services.util.ServiceHandler] (3-thread-4) Executor.doWork -- ome.services.sessions.SessionManagerImpl.reload(beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0)
2011-06-10 11:28:51,605 INFO [ ome.services.util.ServiceHandler] (3-thread-5) Executor.doWork -- ome.services.sessions.SessionManagerImpl.reload(beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0)
2011-06-10 11:30:51,608 INFO [ ome.services.util.ServiceHandler] (3-thread-3) Executor.doWork -- ome.services.sessions.SessionManagerImpl.reload(beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0)
2011-06-10 11:32:51,602 INFO [ ome.services.util.ServiceHandler] (3-thread-3) Executor.doWork -- ome.services.sessions.SessionManagerImpl.reload(beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0)
2011-06-10 11:34:47,895 INFO [ ome.services.blitz.fire.SessionManagerI] (l.Server-3) Found session locally: beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0
2011-06-10 11:34:47,896 DEBUG [e.services.sessions.SessionContext$Count] (l.Server-3) +Reference count: beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0=1
2011-06-10 11:34:47,903 INFO [ ome.services.blitz.fire.SessionManagerI] (l.Server-3) Rejoining session ServiceFactoryI(session-c6f6ea80-510f-4a70-9b14-4c62455d1a58/beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0) (agent=OMERO.py)
2011-06-10 11:34:49,530 DEBUG [ ome.services.blitz.impl.ServiceFactoryI] (l.Server-4) destroy(ServiceFactoryI(session-c6f6ea80-510f-4a70-9b14-4c62455d1a58/beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0))
2011-06-10 11:34:49,531 INFO [e.services.sessions.SessionContext$Count] (l.Server-4) -Reference count: beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0=0
2011-06-10 11:34:49,531 INFO [ ome.services.blitz.impl.ServiceFactoryI] (l.Server-4) doDestroy(ServiceFactoryI(session-c6f6ea80-510f-4a70-9b14-4c62455d1a58/beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0))
2011-06-10 11:34:49,531 INFO [ome.services.sessions.SessionManagerImpl] (l.Server-4) closeSession called and no more references: beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0
2011-06-10 11:34:49,531 INFO [ome.services.sessions.state.SessionCache] (l.Server-4) Destroying session beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0 due to : Remove session called
2011-06-10 11:34:49,548 DEBUG [ome.services.sessions.SessionManagerImpl] (l.Server-4) Session.closed set to now() for beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0
2011-06-10 11:34:49,626 INFO [ ome.services.blitz.fire.SessionManagerI] (l.Server-4) Reaping 2 clients for beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0
2011-06-10 11:34:49,626 DEBUG [ ome.services.blitz.fire.SessionManagerI] (l.Server-4) session-f60ef632-78b6-4f9b-a155-bfc5b5879908/beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0 already removed.
2011-06-10 11:34:49,626 DEBUG [ ome.services.blitz.fire.SessionManagerI] (l.Server-4) session-c6f6ea80-510f-4a70-9b14-4c62455d1a58/beb8dc52-ed72-4ad6-bd8e-de9d7e455cf0 already removed.