I have written a small module for sending signals to a "foreign" Python
process on Windows 2000/XP.
The trunk is on
In this way I can send KILL, TERM and so, like in a POSIX system.
This works by creating a thread on the remote process (yes, Windows
allow this...) and let it call the function "raise" from the MSVCR71 DLL.
This seems to work fine, and now I can stop a Twisted process with
kill.py TERM pid
(does twistd save the pid in a file on Windows?)
but I'm not sure if signal handlers are thread safe.
Regards Manlio Perillo
I am trying to create a TCP server using twisted reactor. I want to stop the server from accepting TCP bind requests (and restart it later), but for some reason I don't want to use reactor.stop(). Is there another way to do it?
Yahoo! Messenger with Voice. PC-to-Phone calls for ridiculously low rates.
Stateless protocols like HTTP use sessions for client authentication.
The session is created by the server and the client should supply it at
The question is: does cred support this type of authentication?
Thanks Manlio Perillo
I want to use twisted to run a server that is also a SOA client:
I developp a scheduler that schedule calls to a web service regularly, tasks may be added or terminated.
The web service has different calls and each task calls a specific call (too many calls in that sentence ;-)) and then update a database.
The fact is that I can only have a maximum number of thread per call, I was wondering if I could have a thread pool per type of call,
feeding it with my scheduled tasks and being able to change its size dynamically.
I was thinking of having different groups of tasks, depending of the specific call, and feeding my thread pool according to the schedule.
I'm new to twisted, so I don't really know how to do that, the thread documentation is a bit light for me.
I'm also not quite sure what type of reactor would be best to use.
I hope I've been clear, thanks,
I have a python server with twisted framework running
24x7. I want to have a config file to setup accepting local
computer requests or remote computer requests.
If the config file exists, it only accepts local computer
request, does not accept requests from other computers.
If the config file does not exist, it accepts requests
from any computers.
Is there any easy way to do it ?
This email message and any attachments are for the sole use of the intended recipients and may contain proprietary and/or confidential information which may be privileged or otherwise protected from disclosure. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipients, please contact the sender by reply email and destroy the original message and any copies of the message as well as any attachments to the original message.
I am running twisted-1.3 on some SUN machines, and haven't changed since
I couldn't install the Zope Interface without a compiler. This is
unfortunate, since there is no compiler on the machines, and the rest of
twisted is installable without a compiler.
The Zope interface is now a part of the sumo distribution, but it seems
that it needs a compiler in this case as well.
Does anyone know a simple way of installing the Zope Interface without a
I'm pleased to announce that the first alpha release of "newpb", a ground-up
rewrite of twisted's native RPC protocol, is now available.
Years in the making, newpb offers a variety of new features, more flexible
serialization than oldpb, a better security model, and the potential (not yet
achieved) to be faster. For a larger list of new features, take a look at the
newpb wiki page.
The release itself is currently available from my web directory. At some
point in the near future, it should also be available from the Twisted
downloads directory, and from the download mirror sites as well. To use the
release you will have to install it with the usual 'setup.py install'
incantation: it adds a 'twisted.pb' module to your regular twisted
installation, and as such it won't work if you just add the unpacked
directory to your PYTHONPATH.
Please note that this is an ALPHA release. Think of it as a technology
preview. The wire protocol is *not* stable yet, which means that a
newpb-0.0.1 client is unlikely to be able to talk to a newpb-0.0.2 server,
etc. Don't deploy it anywhere unless you will be able to upgrade both ends of
the wire in the future. There are likely to be significant bugs (including
security holes) present, and some major design decisions still remain to be
settled. For production systems, please continue to use oldpb (aka
twisted.spread, as distributed in TwistedCore) for the forseable future.
That said, it's high time that people get a chance to play with this code. An
earlier version of it leaked into the TwistedCore-2.2.0 release before anyone
could catch it (but truth be told the code there is almost identical to this
0.0.1 release), but apart from that it has been languishing in SVN for far
too long. I think I've been working on this intermittently for three years,
hopefully with other people involved we can get this thing rolling and usable
in a non-bounded amount of time.
The top-level "Getting Started" documentation, with examples, is in
doc/pb/using-pb.xhtml, of which a lore-rendered version is in my newpb
webspace. There are a number of protocol specification documents in there
too. There are also lists of outstanding jobs and open design questions in
doc/pb/*. The 8.5kloc of code lives in twisted/pb/*, along with an additional
4.7kloc in the 229 unit tests.
Naming: the name is still in flux. We've been using "newpb" as a working
title, to distinguish it from "oldpb" (which is the twisted.spread that's
been shipping in TwistedCore since forever). "pb2" is another working title.
It will probably have some new name in the future, hopefully one which makes
its purpose more immediately obvious. The point right now is to work on the
functionality, not the name. In the long run this is intended to replace
oldpb/twisted.spread, but not this month. So don't worry about the name too
much for now.
When filing bugs and tickets, if you see a 'pb2' component in Trac, please
use that. Otherwise please use the 'pb' component and include "newpb" or
"pb2" in the title. Discussions here on the twisted-python mailing list or in
the #twisted IRC channel on freenode.net are also appropriate.
Have an Alice, Bob, and Carol-ific day,