summaryrefslogtreecommitdiff
path: root/cron (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* It is not an error to get an ENOENT when stat'ing the digest file, itbwarsaw1999-12-101-4/+2
| | | | | just means that there /is/ no digest waiting to go out for this list. So don't log an error message.
* More logging so we can find errors in the gating module better.bwarsaw1999-12-091-7/+9
|
* Oops, got order of addrs backwards in UserNotification() ctor.bwarsaw1999-12-021-1/+1
|
* mail_passwords(): port to new message delivery pipelinebwarsaw1999-12-021-30/+6
|
* A serious rewrite to make it more robust, and to add a somewhat usefulbwarsaw1999-11-241-85/+200
| | | | | | | | | | | | | | | | command line interface. This latter allows you to manually poll a specific list's newsgroup for a range of message numbers, sending them to the list. Using this interface does /not/ update the watermark file. We also don't update the watermark entry for a specific list until that list's child process (which does the actually gating of the messages from Usenet to mailing list) exits with a zero status. If it exits with non-zero, it is taken as a complete failure of the gating process and the watermark isn't updated. This could cause duplicates, so a really anal approach would be to create a pipe between child and parent and write the new watermark after each message is successfully gated.
* Cosmeticbwarsaw1999-11-121-8/+12
|
* typobwarsaw1999-11-121-1/+1
|
* Move all the newsgroup polling logic to here from GatewayManager.bwarsaw1999-11-121-1/+63
|
* Get rid of archives, upvolume_* installsbwarsaw1999-11-121-2/+2
|
* Convert to the new admin request API.bwarsaw1999-11-121-43/+48
|
* cosmeticbwarsaw1999-11-121-0/+1
|
* These cron scripts do not appear to be used any more. In fact, thebwarsaw1999-11-123-157/+0
| | | | MailList methods they call don't exist anymore AFAICT.
* minor typobwarsaw1999-11-111-1/+1
|
* main(): Convert to new pipeline architecture.bwarsaw1999-11-101-8/+24
|
* Add an entry to run the nightly gzip at 3:27ambwarsaw1999-09-041-0/+5
|
* Two changes:bwarsaw1999-09-021-1/+16
| | | | | | | | - be sure to use the member's case-preserved subscribed address - watch out for any addresses that are in the password dictionary but are (for some unknown reason) not subscribed. Zap any such addresses found.
* Do the more sensible thing, which is only gzip those .txt files thatbwarsaw1999-08-311-31/+18
| | | | are newer than their .txt.gz files.
* Watch out for os.errors from os.listdir()bwarsaw1999-08-311-1/+5
|
* Added nightly_gzip to list of scriptsbwarsaw1999-08-301-1/+1
|
* Script which nightly gzips .txt flat archive files.bwarsaw1999-08-301-0/+154
|
* flock => LockFilebwarsaw1999-08-202-7/+7
| | | | hung_timeout => lifetime
* Move the locking stuff to here from OutgoingQueue.processQueue().bwarsaw1999-07-071-1/+16
| | | | | This way, I can wrap the body of the code in a try/finally so the lock is definitely released should something bad happen.
* Debugging stuff removed.bwarsaw1999-05-041-8/+8
|
* Revamped script now sorts first by virtual host ifbwarsaw1999-05-041-78/+105
| | | | | | | mm_cfg.VIRTUAL_HOST_OVERVIEW is true. This should resolve PR#5. Note that this is a debugging version and not /quite/ the final check-in.
* Thanks to Gerhard Gonter, who corrected the logic intended to obtain aklm1999-04-021-1/+1
| | | | | | public list to serve as the sender of the password notifications. (This arrangement is still ad-hoc, as my previous mailpasswds checkin message suggests.)
* VERSION is no longer set in configure because it's too hard tobwarsaw1999-01-151-2/+0
| | | | | | | | | | | | propagate version string changes to the public (you have to autoreconf, then reconfigure and reinstall). Now, VERSION is set directory in Defaults.py.in and the Release.py script updates that file directly. Now we just need to run ./config.status and do a re-install. I hope this will make things easier. I'm also bumping the version to 1.0b8, so I can do a release tomorrow.
* On some RedHat Linuxes, there appears to be a problem with some cronsbwarsaw1999-01-138-0/+32
| | | | | | | | | | | | | | | | | | | | | | messing up their SIGCHLD handling. This would manifest as an IOError getting raised in the cmdproc.close() call of DeliverToList() in Deliverer.py. Thanks go Harald Meland for describing the real problem and giving the real fix. Thanks go to Greg Stein for testing this patch and verifying that it works. Deliverer.DeliverToList(): Undo previously checked in patch, which simply wrapped a try/except around the cmdproc.close() call and ignored errno=10 IOErrors. This was treating the symptoms, not the cause. All files in cron/: Added Harald's work around of the Linux bug by including these lines in every file: # Work around known problems with some RedHat cron daemons import signal signal.signal(signal.SIGCHLD, signal.SIG_DFL) It helps RedHat and doesn't appear to hurt on e.g. Solaris.
* Significantly rewritten to handle many lurking bugs.bwarsaw1998-12-181-32/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - reorganized into functions with a small amount of __main__ code - re-ordered the way the work gets done between the parent and the child. it was possible the gate_watermarks file would be continuously trashed because it was written by every child process, which run asynchronously. now only the parent writes this file, but it does so after each list's gating child process starts. This also means that the parent is what makes the initial NNTP connection, and gets the stats of the list (e.g. first and last). These it passes to the child process, along with the current watermark. The child just does the actual gating. - Added a per-list locking file so that only one gate_news process will be gating a list at any one time. What happens is: the parent acquires the per-list lock. If that fails, it just moves on to the next list; gate_news runs again in 5 minutes anyway, and the hung_timeout on the lock is set to 4 minutes. If the parent gets the per-list lock, it forks a child to handle gating that list. The child then steals the lock from the parent (this should be safe), gates all the new messages, and then releases the per-list lock. This new code should be forking-safe, should not have run away processes, and lets you run gate_news from the command line without interfering with any cron spawned gate_news process.
* added os._exit(0) at end of for loop, to prevent forking too manycotton1998-11-091-0/+6
| | | | | | | times. XXX - this should probably be made to fork only for lists that actually need to gate news. scott
* main(): A small kludge to ensure that we use an advertised list, ifklm1998-11-011-1/+5
| | | | | | | | | | | | | | | any is available, for actually sending out the passwords reminders. Otherwise, an unadvertised list may be used (and will be, if there are no advertised ones on the system), putting its name in the list-id header, and so forth. The proper fix will be to not use a list object, at all, to do the sends - use Utils.SendTextToUser, or something, directly. This should be fixed before full release - we just need to identify the proper headers - who should be the sender, where should failure notices go, etc, etc. Hmm - it would be nice to have a special return address that would do the bounce processing, but look for and handle the bad address on *all* the lists to which it belongs...
* Removed inappropriate comment (apparent residue from incompleteklm1998-11-011-6/+2
| | | | | cut-and-paste of the 'archive' script). I added a more relevant, but really minimal, comment, in its stead.
* make finishbwarsaw1998-10-201-0/+2
|
* Using new routine to identify the admin address for a member,klm1998-10-171-6/+1
| | | | depending on whether or not the list is an umbrella...
* main(): When the list is an umbrella list for other lists, theklm1998-10-171-3/+5
| | | | | | recipients for password notices are the administrators of the member addresses - this way, the password will not be advertised to the sublist membership!
* Nagy's distclean patch. removes some files that should have beencotton1998-10-091-1/+1
| | | | | removed but weren't scott
* Be a bit verbose when optional subscriber target list is specified -klm1998-09-091-3/+12
| | | | | | | print a line indicating user and list when one of the specified subscribers is found. Changed var name to "confined_to".
* Take an optional argument specifying target subscribers, and whenklm1998-09-091-2/+6
| | | | | | specified, ignore all others. This provides an easy way to inform users who have forgotten exactly what they're list memberships are (which i'm about to do for someone).
* Add "Precedence: bulk" header to password reminders, so they don'tklm1998-08-141-1/+2
| | | | | trigger 'vacation' style programs. (Sorta amusingly, this just prevents the admin from getting their own vacation notice...)
* Add "Precedence: bulk" header to password reminders, so they don'tklm1998-08-141-1/+2
| | | | trigger 'vacation' style programs. (I thought i already added this!)
* George Bush sez: "blank lines... bad!"bwarsaw1998-07-231-2/+2
| | | | Also, last line needs to have a newline at the end or autoconf won't
* With recent maketext() (wrap()) fixes, we can just append the list ofklm1998-07-231-3/+6
| | | | | | | | pending items to the message after formatting, rather than the more complicated literal inclusion of a format string that was being used. Added a '-v' option to the script, to get verbose operation for debugging.
* Wrapped the call to smtplib with some queueing code.viega1998-07-203-1/+35
| | | | There's a new crontab entry that checks the queue once every 30 mins.
* Account for Makefile. (I don't know whether .cvsignore should beklm1998-07-171-1/+1
| | | | | | | | checked in to the distribution, but since this one already was, i'm revising it to what i think it should be. Question is, should these be checked in at all? We do with here with similar things, like grail, etc, it's just that the file becomes a part of the distribution...
* Moved the notice text to a new template, for use with 'maketext'.klm1998-07-171-13/+9
| | | | | | | | | Note that, in order to avoid wrapping the pending requests list, it is inserted in a separate pass after the maketext. Also, using a changed name for the RequestsPending() call, NumRequestsPending() - i'll be checking in ListAdmin.py with the new name momentarily.
* Another file where the from line was oddly missing the "import" part ofviega1998-07-071-2/+2
| | | | things.
* Whoops, forgot the packagization had happened, should have been:viega1998-07-071-1/+1
| | | | from Mailman import mm_cfg
* Somehow "import mm_cfg" got changed to "from mm_cfg".viega1998-07-071-1/+1
|
* MailAllPasswords(): Put the table at the bottom of the message so thebwarsaw1998-07-061-3/+3
| | | | rest of the text can be wrapped/filled but not the table.
* Moved the raw flag to the maketext() callbwarsaw1998-07-061-3/+2
|
* More provisions to prevent exhausting the processes queue. We do aklm1998-07-021-5/+27
| | | | | | | | | | | | wait() within the send loop every PAUSE_FREQUENCY users, in order to wait for the deliver process to finish queuing up the messages. Also, the password message text was getting mangled by the word wrapping in SendTextToUser. I added 'raw=1' to the call. (I should say that i really don't think that SendTextToUser should be in the business of wrapping or filling text - i thought Utils.maketext, when deliberately applied, was going to take care of all that? Ah - i bet i'm just behind in my checkouts...)