Hi,
I m currently using the LDAP-connector developped by Martin : http://webserver.offal.homelinux.org/LDAPMemberAdaptor/V3.0/LDAPMemberAdapto...
I've modified it for being usable with very large LDAP directories (rebuilding an adress instead of making an ldap request for each member). That's not the point.
My problem : the member list seems just right through the web interface or even the bin/list_members script at all time (updating when the ldap group is updated etc...). But in fact, the changes in the delivery list are effectives only after a restart of the mailman processes ...
The list seems cached... maybe in the config.pck file ...
Any hint to solve this problem ?
Regards
P
Patrice Albaret wrote:
I m currently using the LDAP-connector developped by Martin : http://webserver.offal.homelinux.org/LDAPMemberAdaptor/V3.0/LDAPMemberAdapto...
I've modified it for being usable with very large LDAP directories (rebuilding an adress instead of making an ldap request for each member). That's not the point.
Maybe that is the point. See below.
My problem : the member list seems just right through the web interface or even the bin/list_members script at all time (updating when the ldap group is updated etc...). But in fact, the changes in the delivery list are effectives only after a restart of the mailman processes ...
The list seems cached... maybe in the config.pck file ...
The list probably is cached, but not in config.pck. The web interface and command line tools are a new process each time a web wrapper or command line tool is invoked, but the qrunners which do the work of handling and delivering posts are processes that keep running between restarts. Thus the various python modules get cached, and presumably in this case information from the LDAP directories (or pieces thereof) gets cached in variables within the LDAP Member Adaptor.
You have to insure that calls to getMembers(), getRegularMemberKeys(), etc. go to the LDAP directory each time and don't rely on previously retrieved information.
Either that or perhaps set up a cron to do 'bin/mailmanctl restart' periodically to resync.
-- Mark Sapiro msapiro@value.net The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Sun, 2005-09-04 at 13:51, Mark Sapiro wrote:
You have to insure that calls to getMembers(), getRegularMemberKeys(), etc. go to the LDAP directory each time and don't rely on previously retrieved information.
Either that or perhaps set up a cron to do 'bin/mailmanctl restart' periodically to resync.
Or better yet, hook into the MailList instance by overloading the Load() method to resync with LDAP. You'll need to use the extend.py extension mechanism to do this. Read the code for MailList.__init__() for details.
-Barry
participants (3)
-
Barry Warsaw
-
Mark Sapiro
-
Patrice Albaret