Complete.Org: Mailing Lists: Archives: offlineimap: April 2004:
Re: Connection problems: fix with wrapper
Home

Re: Connection problems: fix with wrapper

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: "Matthew P. Barnson" <matthew@xxxxxxxxxxx>
Cc: Jared Rhine <jared@xxxxxxxxxxx>, offlineimap@xxxxxxxxxxxx
Subject: Re: Connection problems: fix with wrapper
From: John Goerzen <jgoerzen@xxxxxxxxxxxx>
Date: Thu, 22 Apr 2004 13:15:20 -0500

Since you've brought it up, and I received another patch recently, I
suppose I should update y'all on what it is I've done with OfflineIMAP
lately.

If you recall, I set out on a project to rewrite it to use the Twisted
aynchronous I/O framework rather than threads.  That worked well, and
actually the 5.0 alpha syncs mail with multiple simultaneoush
connections.  However, I never had time to write the UI, as I'd have to
port it over to wxWindows and do my own Curses binding for Twisted
(ugh).

So, given the existing codebase that pretty much works, if people are
interested, I'm happy to open up development on it again.  I don't have
a lot of time to devote to it myself right now, though.

Does anyone here use GNU Arch (aka tla)?  A lot of my projects have
moved over to it.  It makes it a lot easier for you to take the code,
hack it up, and then say, "OK jgoerzen, grab my patches from http://foo";
-- and we can keep trees in sync and preserve change history at the same
time.  I could move OfflineIMAP 4.x to Arch to make it easier for y'all
to collaborate.  Of course, standard diffs would remain welcome.

Thoughts?

-- John

On Thu, Apr 22, 2004 at 12:01:33PM -0600, Matthew P. Barnson wrote:
> The problem of daemons dying has been managed several ways (here are a
> few examples):
> 1.  Use of "init".  This works well for TTY's and essential basic system
> services.  Using it for a userspace tool like offlineimap is probably
> overkill.  But init makes sure that any process that dies is respawned
> immediately.
> 2.  Fetchmail spits out a log message to the console or syslog if it dies
> off.  
> 3.  Apache 1.X spawns a single master fork that watches all the children.
> This code is exceptionally reliable, handling little else but counting the
> number of pages children have served, killing them off at appropriate
> times, and starting new forks to handle increased load.
> 4.  A wrapper program either in the native language, or another language,
> as mentioned.  I put up a little generic wrapper here; there are myriad
> approaches.
> 
> My personal fave is to keep offlineimap in pure Python, and wrap
> mail handling with a watcher process, like Apache.  That way you wouldn't
> introduce any dependencies.
> 
> And for the curious, YES, I am working on this right now :)  I'm not a
> Python master by any means, but there's also the Maildir bug that I want to
> automatically detect when running under Cygwin, so it can spit out a more
> informative error message if it finds it's trying to do Maildir on a mount
> that's not managed.
> 
> The next stop in my personal offlineimap saga: a simple GUI to set up
> accounts... but that's not for a while :)
> 
> -- 
> Matthew P. Barnson
> - - - -
> Thought for the moment:
> Rules:
>       (1)  The boss is always right.
>       (2)  When the boss is wrong, refer to rule 1.
> 


[Prev in Thread] Current Thread [Next in Thread]