fab-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fab-user] Fabric 0.1.0 ran away from home.


From: Jeff Forcier
Subject: Re: [Fab-user] Fabric 0.1.0 ran away from home.
Date: Tue, 17 Feb 2009 07:46:50 -0500

On Tue, Feb 17, 2009 at 12:54 AM, Nicolas Steinmetz
<address@hidden> wrote:

> For the py 2.4 compatibility, I think the python 2.4 users (at least me)
> cannot blame you but more their distros as python 2.5 and 2.6 are released
> since a long time (especially for py 2.5).

It's the truth. I was actually the one championing 2.4 support, as I
remember well what it was like being stuck on e.g. 2.3 for years, but
at this point in time 2.4 is definitely pretty old (2.5 came out in
mid 2006!) and there's a few niceties in 2.5, such as 'with', which
might be useful architecturally.

I think in general a good middle ground for any project is to support
the last 2 stable releases of Python, which right now means 2.5 and
2.6.

> I'll still use fabric for my personnal purpose. For the professional one, it
> looks we are moving to a specific java based solution (as Perl & Java has
> been set as firm standards :-/ )

Condolences :(

> Related to Jeff's purpose to (try to) move to twisted, I read some articles
> on Twisted those last days, it looks quite interesting (even if it may be
> more complex in some ways to become familar with twisted). Interesting to
> see where it can lead us.

The main reason I'm interested in Twisted is its asynchronous
programming model; right now, in order to attempt a mostly-real-time
output of stdout and stderr from remote commands, we use threads, and
those are always prone to odd issues. More importantly, when I tried
to apply the same threading approach to printing/capturing
stdout/stderr of *local* commands, it broke down because the
subprocess module isn't entirely threadsafe.

Finally, I've seen asynchronous coding done before, in a Ruby SSH
library, and it makes this particular type of code much simpler:
instead of 1+ threads with infinite loops and relatively clunky code
within, you just define a couple of callback methods. At least, that's
the idea :)

However, it's not definite yet, just something that's on the table. I
have bigger changes in store if all goes well.

Best,
Jeff




reply via email to

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