|
SAiello at Jentoo.com
SAiello at Jentoo.com
Fri Jan 28 12:15:10 EST 2005
Hello,
I was wondering if it is possible to run a process when a session timeout
expires. I wouldn't believe there is, for there would need to be some process
constantly monitoring all the processes for expiration, and immediately run
the program. But I figured I would ask.
So to try to do this, I figured I would write another process that would
monitor that session database. Basically, open and read the
'/tmp/mp_session.dbm' run through all the sessions, and if expired run the
program I would like to run. The default db for mp_sess.dbm is dbhash. I have
never worked with dbhash before, I have worked with gdbm. I tried looking at
what is contained within the dbhash file, and I wasn't too sure how to parse
the information under the sid keys.
So I thought I would see how a mp_sess.dbm file would be created if I
specified using gdbm, I used the following lines:
import gdbm
sess=Session.DbmSession(req, None, None, gdbm)
But I get the following error:
Mod_python error: "PythonHandler mod_python.publisher"
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line 299, in
HandlerDispatch
result = object(req)
File "/usr/lib/python2.3/site-packages/mod_python/publisher.py", line 136,
in handler
result = util.apply_fs_data(object, req.form, req=req)
File "/usr/lib/python2.3/site-packages/mod_python/util.py", line 361, in
apply_fs_data
return object(**args)
File "/var/www/localhost/htdocs/python/inet.py", line 11, in login
webtools.login(req, Secret, args)
File "/var/www/localhost/htdocs/python/webtools.py", line 23, in login
sess=Session.DbmSession(req, None, Secret, gdbm)
File "/usr/lib/python2.3/site-packages/mod_python/Session.py", line 294, in
__init__
timeout=timeout, lock=lock)
File "/usr/lib/python2.3/site-packages/mod_python/Session.py", line 132, in
__init__
Cookie.add_cookie(self._req, self.make_cookie())
File "/usr/lib/python2.3/site-packages/mod_python/Cookie.py", line 353, in
add_cookie
req.headers_out.add("Set-Cookie", str(cookie))
File "/usr/lib/python2.3/site-packages/mod_python/Cookie.py", line 204, in
__str__
result = ["%s=%s%s" % (self.name, self.hexdigest(self.value),
File "/usr/lib/python2.3/site-packages/mod_python/Cookie.py", line 198, in
hexdigest
_hmac = hmac.new(self.__data__["secret"], self.name)
File "/usr/lib/python2.3/hmac.py", line 97, in new
return HMAC(key, msg, digestmod)
File "/usr/lib/python2.3/hmac.py", line 41, in __init__
if len(key) > blocksize:
TypeError: len() of unsized object
Any ideas or suggestions ?
Thanks,
Steven
|