yield-users Mailing List for yield
Status: Beta
Brought to you by:
felix_h
You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|
From: Minor G. <Min...@cl...> - 2008-04-24 13:25:50
|
Hello, Do you want to use HTTP as a transport protocol, or pass raw socket I/O to/from Python and parse it yourself? HTTP would be faster than doing socket I/O in Python. Then Yield would do all the parsing, buffering, etc. in C++. The server does persistent HTTP connections for HTTP/1.1. Most clients will keep a connection open by default. I've also written a socket module replacement for Yield and Stackless, something like stacklesssocket.py but using Yield's network front-end. It's experimental code, but I can get it up to speed if you tell me how you want to use it. Minor > I'm looking at Yield as a possible solution to power a game server, > whose logic will be written in stackless python. > Most examples I've found for Yield are oriented around a http based > approach, where there is a request, then a response, and then the > connection dies. > I'm wondering what people's opinions are on using Yield for connections > that are persistent. Having each game client login to the server, > and maintain their connection during their game session, continuously > sending information, and receiving information. I'd like the logic > implemented in > stackless python to provide/interpet all this network traffic, and I'm > hoping Yield is a nice solution to provide the game logic code with > network support. |
From: Lucas M. <lu...@ma...> - 2008-04-23 09:06:06
|
Hi, I'm looking at Yield as a possible solution to power a game server, whose logic will be written in stackless python. Most examples I've found for Yield are oriented around a http based approach, where there is a request, then a response, and then the connection dies. I'm wondering what people's opinions are on using Yield for connections that are persistent. Having each game client login to the server, and maintain their connection during their game session, continuously sending information, and receiving information. I'd like the logic implemented in stackless python to provide/interpet all this network traffic, and I'm hoping Yield is a nice solution to provide the game logic code with network support. Bye, Lucas |
From: Minor G. <Min...@cl...> - 2008-04-16 17:04:34
|
Hello, Thank you for trying Yield out, and I'm sorry it didn't work out of the box. I should admit outright that the release package was not as thoroughly tested on different platforms and installation scenarios as I would have liked; I rushed to put it up on SourceForge right before a Google tech talk, and then I rushed on to something else. I would recommend you start from the code that's in Subversion: http://code.google.com/p/yield/source/checkout The problem you're seeing now is that one or more DLLs are failing to load. Without knowing your exact setup (OS, compiler, etc.) I'd have to guess that your shared library loader is not finding the DLL's entry point, which is a problem with some versions of GCC. I've fixed this in svn for GCC 3.4 and 4. Try this: svn checkout http://yield.googlecode.com/svn/trunk/ yield cd yield bin/scons -f setup.py export PYTHONPATH=$PWD/src/py bin/yield --alltests ^C bin/yield --yieldserver_com & wget http://localhost:8081/ I just tried this on a fresh checkout from Google, and it works on Linux 2.6 x86_64, gcc 4.1. A few of the tests will not pass, because of configuration differences, but it should be fine. Let me know if this works for you. Yield is still very much "beta" status, which I define as "once it's running it works well, but getting to that point may be a bit difficult." If you are patient enough for that I'd be very glad to have you as a beta tester. Re: the socket module. A Stackless replacement for the socket module is on my TODO list, though I don't think it will be as simple as stacklesssocket.py because Yield's socket operations are in another thread, which means there are C++ messages to contend with. Minor > Okay, I must surely be 'beating a dead horse' here, but I installed > Yield from the tarball on a clean Amazon EC2 instance, and ran: > > "stackless startup.py --ypytests" > > All 46 tests failed with the "NotImplementedError: no target..." > > On Tue, Apr 15, 2008 at 2:28 PM, Phoenix Sol <ph...@bu... > <mailto:ph...@bu...>> wrote: > > Sorry about the subject line; I forgot to change it before I managed > to get a traceback. > > I just ran "stackless startup.py --test=ypy.tests.gateway_test", and > every test failed with a "NotImplementedError: no target..." > > Should I try installing again? The installation from the tarball > seemed to be successful. > > Sorry about the subject line; I forgot to change it before I managed to > get a traceback. > > I just ran "stackless startup.py --test=ypy.tests.gateway_test", and > every test failed with a "NotImplementedError: no target..." > > Should I try installing again? The installation from the tarball seemed > to be successful. > > > Thanks again, > > Phoenix Sol > 541-646-8612 > 130 'A' Street, > Suite 6 > Ashland, Oregon > 97520 > Hi, I installed yield from the tarball (the svn install with scons > failed for me on Linux), and I'm trying to run the examples. > > The yield executable was giving me no responses, and no feedback, so I > tried: "stackless startup.py --yieldserver_com --port 8081" > > Which gave this traceback: > > Traceback (most recent call last): > File "/usr/local/lib/python2.5/site-packages/ypy/gateway/gateway_http_methods.py", line 50, in handleHTTPRequest > ev_handler_result = handleEvent( ev, ev_handler ) > > File "/usr/local/lib/python2.5/site-packages/ypy/gateway/gateway_entry_point.py", line 91, in handleEvent > return callEventHandler( ev, ev_handler ) > File "/usr/local/lib/python2.5/site-packages/ypy/gateway/gateway_entry_point.py", line 118, in _callEventHandler > > return ev_handler( ev ) > File "/usr/local/lib/python2.5/site-packages/ypy/httpfileserver.py", line 65, in handleHTTPFileRequest > readFile( file_path, continuation=self._getFileContinuation ) > File "/usr/local/lib/python2.5/site-packages/ypy/gateway/gateway_misc_methods.py", line 37, in readFile > > return send( DiskReadEvent( path, data, offset, length, serialize_data ), continuation, "DiskOffloader" ) > File "/usr/local/lib/python2.5/site-packages/ypy/gateway/gateway_send_methods.py", line 36, in send > > send_ret = _send( ev, continuation, target, redeserialize ) > NotImplementedError: no target for event diskevent::DiskReadEvent > > > Is this a problem with my installation? I would expect a demo app to > work; have I done something wrong? > I just found Yield, and I'm very excited about it. Thank-you so much for > sharing it! > > The interest that brought me to it is this: high performance async > socket operations in Stackless. I used Richard Tew's stacklesssocket.py > for a while, and was mostly pleased with it. I really like the > monkeypatch approach, because it allows you to use any code that imports > the socket module. Looking for higher performance for a project I'm > working on, I decided to try the same approach using pyevent. So far > I've been disappointed in the performance gained, and I'm not very > confident in pyevent because it's unmaintained and depends on an old > version of libevent. So looking around, I found Yield. > > I'm already pretty determined to develop my project with Yield, but at > this point I'm still not sure if I can use existing code that depends on > a 'socket' module. I'm just getting started studying Yield, and would > appreciate any advice on where to look / how to go about building a > module that imitates the standard 'socket' module (ssl being very > important), so that I can use code built on the standard libraries: > httplib, urllib(2), etc. > > Thanks a heap! |
From: Phoenix S. <ph...@bu...> - 2008-04-15 22:52:11
|
Okay, I must surely be 'beating a dead horse' here, but I installed Yield from the tarball on a clean Amazon EC2 instance, and ran: "stackless startup.py --ypytests" All 46 tests failed with the "NotImplementedError: no target..." On Tue, Apr 15, 2008 at 2:28 PM, Phoenix Sol <ph...@bu...> wrote: > Sorry about the subject line; I forgot to change it before I managed to > get a traceback. > > I just ran "stackless startup.py --test=ypy.tests.gateway_test", and every > test failed with a "NotImplementedError: no target..." > > Should I try installing again? The installation from the tarball seemed to > be successful. > > > Thanks again, > > > Phoenix Sol > 541-646-8612 > 130 'A' Street, > Suite 6 > Ashland, Oregon > 97520 > -- Phoenix Sol 541-646-8612 130 'A' Street, Suite 6 Ashland, Oregon 97520 |
From: Phoenix S. <ph...@bu...> - 2008-04-15 21:28:06
|
Sorry about the subject line; I forgot to change it before I managed to get a traceback. I just ran "stackless startup.py --test=ypy.tests.gateway_test", and every test failed with a "NotImplementedError: no target..." Should I try installing again? The installation from the tarball seemed to be successful. Thanks again, Phoenix Sol 541-646-8612 130 'A' Street, Suite 6 Ashland, Oregon 97520 |
From: Phoenix S. <ph...@bu...> - 2008-04-15 21:17:06
|
Hi, I installed yield from the tarball (the svn install with scons failed for me on Linux), and I'm trying to run the examples. The yield executable was giving me no responses, and no feedback, so I tried: "stackless startup.py --yieldserver_com --port 8081" Which gave this traceback: Traceback (most recent call last): File "/usr/local/lib/python2.5/site-packages/ypy/gateway/gateway_http_methods.py", line 50, in handleHTTPRequest ev_handler_result = handleEvent( ev, ev_handler ) File "/usr/local/lib/python2.5/site-packages/ypy/gateway/gateway_entry_point.py", line 91, in handleEvent return callEventHandler( ev, ev_handler ) File "/usr/local/lib/python2.5/site-packages/ypy/gateway/gateway_entry_point.py", line 118, in _callEventHandler return ev_handler( ev ) File "/usr/local/lib/python2.5/site-packages/ypy/httpfileserver.py", line 65, in handleHTTPFileRequest readFile( file_path, continuation=self._getFileContinuation ) File "/usr/local/lib/python2.5/site-packages/ypy/gateway/gateway_misc_methods.py", line 37, in readFile return send( DiskReadEvent( path, data, offset, length, serialize_data ), continuation, "DiskOffloader" ) File "/usr/local/lib/python2.5/site-packages/ypy/gateway/gateway_send_methods.py", line 36, in send send_ret = _send( ev, continuation, target, redeserialize ) NotImplementedError: no target for event diskevent::DiskReadEvent Is this a problem with my installation? I would expect a demo app to work; have I done something wrong? Thanks, Phoenix Sol 541-646-8612 130 'A' Street, Suite 6 Ashland, Oregon 97520 |
From: Phoenix S. <ph...@bu...> - 2008-04-15 19:35:03
|
Hello, I just found Yield, and I'm very excited about it. Thank-you so much for sharing it! The interest that brought me to it is this: high performance async socket operations in Stackless. I used Richard Tew's stacklesssocket.py for a while, and was mostly pleased with it. I really like the monkeypatch approach, because it allows you to use any code that imports the socket module. Looking for higher performance for a project I'm working on, I decided to try the same approach using pyevent. So far I've been disappointed in the performance gained, and I'm not very confident in pyevent because it's unmaintained and depends on an old version of libevent. So looking around, I found Yield. I'm already pretty determined to develop my project with Yield, but at this point I'm still not sure if I can use existing code that depends on a 'socket' module. I'm just getting started studying Yield, and would appreciate any advice on where to look / how to go about building a module that imitates the standard 'socket' module (ssl being very important), so that I can use code built on the standard libraries: httplib, urllib(2), etc. Thanks a heap! -- Phoenix Sol 541-646-8612 130 'A' Street, Suite 6 Ashland, Oregon 97520 |