[Twisted-Python] FreeBSD buildslaves: change proposal

2013-11-12 Thread Tobias Oberstein
Hi,

we (Tavendo) currently operate 2 Twisted/FreeBSD buildslaves:

a) FreeBSD 8.2, i386 with 1 builder (CPy 2.7)
=> part of the list of "officially supported" builders

b) FreeBSD 9.1, amd64 with 2 builders (CPy 2.7 and PyPy)
=> only listed under "unsupported"

We would like to change that into the following:

c) one FreeBSD amd64 host with 3 builders

c1) CPy 2.7 (supported)
c2) PyPy 2.2 (supported)
c3) PyPy Nightly (unsupported)

Here are some reasons:

- FreeBSD 8.2 is very old (read, unsupported) now, FreeBSD 10 is around the 
corner, and 9.2 the current official stable release
- i386 is .. getting obscure. Does _anybody_ run FreeBSD i386 anymore?
- there are ongoing workarounds to support that thing .. time that could be 
spent better
- we want to run a PyPy slave for the PyPy project on that same host (this 
allows to produce the PyPy/Nightlies .. on a daily basis .. and immediately run 
Twisted trials against that)
- someone needs to run a PyPy slave anyway .. the current one is broken

- the current Twisted 13.2 has run 100% clean on above b) (CPy) : 
http://buildbot.twistedmatrix.com/builders/freebsd-9.1-amd64-python2.7/builds/198

So, I'd like to ask Twisted developers if above makes sense, and you would 
support this way forward.

I've been in contact with PyPy developers, and there seems to be clear interest 
in improving support for both Twisted and FreeBSD (hence the cross-post).

In general, Tavendo is committed to contribute time & material making Twisted + 
CPy|PyPy + FreeBSD a combination fully (even better) supported and actually 
first-class in terms of features, compatibility and performance.

We think < Twisted + PyPy + FreeBSD > in particular has great potential and can 
provide an extremely powerful stack:

"The _complete_ power to serve."

.. stealing from FreeBSD's motto here - heh, and sorry the the marketing blurb 
.. I just couldn't resist;)
Thanks!

/Tobias

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


[Twisted-Python] Is a Viewable Cacheable a good idea?

2013-11-12 Thread Daniel Sank
Suppose I want to make a networked stockroom program with perspective
broker. We have a user side client object,

class Client(pb.Referenceable):
def connect(self):
# host, port, factory, and credentials come from elsewhere
reactor.connectTCP(host, port, factory)
d = self.factory.login(credentials, self)
d.addCallback(self.connected)

def connected(self, perspective):
if perspective:
self.perspective = perspective

and a "corresponding" server side User,

class User(pb.Avatar):
def __init__(self, name, server, mind):
self.name = name
self.server = server
self.client = mind #This is a remote reference to a Client

def logout(self):
...logic...

We have the IRealm implementer,

@implementer(portal.IRealm)
class Server(object):
"""I manage games and produce Avatars"""
def __init__(self, loggingPath):
self.users = {}
self.stockrooms = set()

def requestAvatar(self, avatarId, mind, *interfaces):
assert pb.IPerspective in interfaces
user = self.users.setdefault(avatarId, User(avatarId, self, mind))
return pb.IPerspective, user, user.logout

and finally we have the Stockroom

class Stockroom(object):
...logic...

Now I'd like for my Clients to be able to remove/add items to the
stockroom. Using only the code above I'd have to add perspective_*
methods to the User. These methods would direct the Client's intent to
the appropriate Stockroom. Changes made to the Stockroom would then
have to be announced to any interested Clients by invoking the
appropriate Users' mind property.

This seems very awkward. I'd rather just have the Stockrooms be
Viewable so that Clients can invoke methods on them directly. If the
Stockroom were _also_ Cacheable then changes on a Stockroom would
automatically propagate to the client process.

Is simultaneously sub-classing Viewable and Cacheable a good idea?

Am I thinking about this properly?

Regards and thanks in advance,
Daniel Sank

-- 
Department of Physics
Broida Hall
University of California
Santa Barbara, CA 93117
(805)893-3899

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


[Twisted-Python] WG: FreeBSD buildslaves: change proposal

2013-11-12 Thread Tobias Oberstein
somehow the Twisted list rejects my posts lately;(

Von: Tobias Oberstein 
Gesendet: Dienstag, 12. November 2013 20:48
An: Twisted general discussion (twisted-python@twistedmatrix.com)
Cc: pypy-...@python.org
Betreff: FreeBSD buildslaves: change proposal

Hi,

we (Tavendo) currently operate 2 Twisted/FreeBSD buildslaves:

a) FreeBSD 8.2, i386 with 1 builder (CPy 2.7)
=> part of the list of "officially supported" builders

b) FreeBSD 9.1, amd64 with 2 builders (CPy 2.7 and PyPy)
=> only listed under "unsupported"

We would like to change that into the following:

c) one FreeBSD amd64 host with 3 builders

c1) CPy 2.7 (supported)
c2) PyPy 2.2 (supported)
c3) PyPy Nightly (unsupported)

Here are some reasons:

- FreeBSD 8.2 is very old (read, unsupported) now, FreeBSD 10 is around the 
corner, and 9.2 the current official stable release
- i386 is .. getting obscure. Does _anybody_ run FreeBSD i386 anymore?
- there are ongoing workarounds to support that thing .. time that could be 
spent better
- we want to run a PyPy slave for the PyPy project on that same host (this 
allows to produce the PyPy/Nightlies .. on a daily basis .. and immediately run 
Twisted trials against that)
- someone needs to run a PyPy slave anyway .. the current one is broken
- the current Twisted 13.2 has run 100% clean on above b) (CPy) : 
http://buildbot.twistedmatrix.com/builders/freebsd-9.1-amd64-python2.7/builds/198

So, I'd like to ask Twisted developers if above makes sense, and you would 
support this way forward.

I've been in contact with PyPy developers, and there seems to be clear interest 
in improving support for both Twisted and FreeBSD (hence the cross-post).

In general, Tavendo is committed to contribute time & material making Twisted + 
CPy|PyPy + FreeBSD a combination fully (even better) supported and actually 
first-class in terms of features, compatibility and performance.

We think < Twisted + PyPy + FreeBSD > in particular has great potential and can 
provide an extremely powerful stack:

"The _complete_ power to serve."

.. stealing from FreeBSD's motto here - heh, and sorry the the marketing blurb 
.. I just couldn't resist;)

Thanks!

/Tobias


___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python