Today a box arrived in the Twisted Matrix Labs global headquarters (AKA the Divmod offices) containing a tricked-out Xserve G5, sent gratis by Apple Computer to help the Twisted team better support the Macintosh platform.
Chris Armstrong and JP Calderone have already set up the buildslaves, and you can see them featured on our Buildbot page as "osx-2.4" and "poll-osx-2.4".
This new machine is serving its purpose admirably. The new build configuration, poll on osx, has already revealed some bugs that need fixing, less than 20 minutes after the machine was set up :).
There are several people who deserve some kudos here:
First of all, Wilfredo Sanchez, for both getting Apple to use Twisted on a high-profile project in the first place, and driving the process which culminated in the delivery of this beautiful machine.
Thanks to Apple Computer for dedicating these resources to our project. I trust it will prove a worthwhile investment for them.
And finally, thanks to Stephen Thorne, who has been tirelessly keeping our tests running on a personal machine, and helping to keep the OS X platform supported until now. Stephen, you can finally turn it off :-).
Pictures are forthcoming, if you know how Flickr works and such.
Is there currently any way to us PB over a SSH connection? I noticed that
there was a post on this list back in Feb 2004, but I didn't see anyone
mention it after that. If anyone has any sample code that does this I would
greatly appreciate it.
I have never used twisted, but really would like to. I am in the middle of
rough design of an xmlrpc OR OTHER remote method invocation type system. I am
debating the use of xmlrpc vs the use of perspective broker. (for a quick
prototype I will likely use the python base xmlrpc lib, but just for proof of
I need to support both java and python. (and really c/c++ in some fashion would
be nice also) from both "local" and remote sources.
I really need something that is secure as well, although I can work around
security with either via pre-post process encrytption techniques as needed.
I will need the ability to expose/hide methods based on the user privledges. I
envision a single "services" like tool that populates a list of things you can
run based on user rights. For this I need usernames/pwds to somehow be secure
(md5, rot13, whatever, just something)
I will have connections over vpn, local code calls, and eventually over local
serial and usb ports. (assuming everthing looks like a simple IP socket stream)
Finally, I have somehting else running a simple xmlrpc server on the system, and
may want to propogate calls to that with some magic wrapper function. (to be
specific, I am running a copy of eXist, the xmldb)
Ok, so with all those rough requirements in mind, will PB be worthwhile? There
is no preference from the client applications point of view.
Right now I am doing a proof of concept, and have a ton of issues that could be
neatly solved by a nice RMI system that is secure.
Thanks in advance.
I want to manage multiple services in one twisted.application， multiple
services contain t.app.internet.TCPClient services and
After client service(a.app.internet.TCPClient) connected and get results,
Do I need to stop client service? if needed, how to do it?
another question is how to use Deferred in twisted.application framework?
William Hanwoody hanwoody(a)gmail.com
A senior Linux engineer, like system integrate
My blog - hanwoody.livejournal.com
Q: What does it say on the bottom of Coke cans in North Dakota?
A: Open other end.
I'm pleased to announce the release of Foolscap-0.0.2 .
(What is 'foolscap', you ask? Good question. It is a size of paper, or the
hat worn by a court jester, or a distributed object-capability protocol for
Twisted. Only the first two definitions show up in wikipedia, however.)
newpb has been moved out of the Twisted SVN subdirectory into a new top-level
package where it can be developed independently of the Twisted release cycle.
(see ticket #1999 for details). In the process it has been renamed to
"Foolscap". (this name has some good properties, but "rolls pleasantly off
the tongue" is not one of them, and I'm not completely settled on it yet, so
don't be surprised if the name changes again in the next couple of months).
Foolscap is the next-generation version of Twisted's native RPC protocol, the
venerable Perspective Broker. It lets you make certain methods of certain
objects on one machine invokable from other machines. Foolscap (aka newpb)
has been in development on and off for, um, years, and is starting to be
ready for brave adventurers to give it a spin. Incompatible protocol and API
changes are likely to come, so keep in mind that it is not yet suitable for
The 0.0.2 release does not make any significant behavioral or protocol
changes relative to the earlier 0.0.1 release, but it does change the package
name and rearranges the preferred entry point. In 0.0.1 you needed to import
a number of second-level modules to use newpb (i.e. 'from twisted.pb import
pb; tub = pb.PBService()'). In 0.0.2 the foolscap/__init__.py file contains
all the important entry points, so you just do 'from foolscap import
The newpb (aka foolscap) wiki page contains lots of information about what
sorts of new features foolscap has relative to PB, links to view the source
and protocol specifications, and of course the download tarball:
The release itself is available in my home directory on pyramid:
The source code lives in Twisted SVN in the sandbox:
For a quick taste of what it looks like to make objects remotely available
via Foolscap, take a look at the simple client+server examples in the docs:
Please grab the release and give it a whirl. The more people who use it, the
better ideas we'll get about where it needs to go and what development still
needs to be done. The docs have a number of files describing the protocol
work that remains to be finished, but usability and practical deployment
issues are the biggest unknowns right now, and the only way to figure those
out is to actually use it for something.
share and enjoy,
I have started to play with manhole (on Windows XP, using putty as the
After doing a:
>>> raise SystemExit()
from the terminal, the prompt ('>>>') does not appear.
Moreover every time I hit [RETURN] the same exception is re-raised in
I have to hit Ctrl-C to obtain the prompt again.
Thanks and regards Manlio Perillo
> specifically, i'm trying to have a scheduled job queue seed 1-50
> 'tasks' at once, each one using a seperate DB connection and running
> in a seperate thread.
> once they all complete, the job reschedules itself to run in the future.
I suggest you take a look at the asynchronous task queue on which my
sAsync package is based. I've been lobbying to get it included into the
twisted code base, see http://twistedmatrix.com/trac/ticket/1768.
The latest SVN of the module is at
the API document is at
Unlike the rest of sAsync, which is GPL'd, the taskqueue module and its
unit test module are distributed under a variant of the MIT license in
order to be suitable for inclusion in the Twisted codebase.
Best regards, Ed
we've written a server running as a twisted application. Logging is
done via twisted.python.log.msg. The log file is growing rather big
and only rotated on server startup, which hopefully is a very rare
Sending a SIGUSR1 to twistd unfortunately doesn't do anything.
I've seen that the class LogFile has a rotate method but I don't see
the connection between twisted.python.log and that class if there is
any at all.
Any hint would be highly appreciated