Hi Massimo, 10x for replying so fast! BTW, I agree with Jason, you ARE awesome! :) Web2Py is a god-sent...
However, I did't understand some of the options you suggested. Mainly I need a more accurate definition of them term "your code". My classifications is three-fold: 1. The web2py-application 2. A service running on the server along-side web2py 3. The service running locally that interacts with any of the above remotely What do you mean by "your code" in each of the 4 examples? To which of the above codes does each of your examples apply? Shouldn't there be an import of the DAL stuff in option 2? What I tried to do now, was: <remote server web2py location>\web2py.py -S <appName> -M -N -R <my bridge code>.py That tried to invoke a instance of the web2py app locally, which would require all the pre-requisite modules used in that app to be installed locally (such as the database python plugin, etc...) Is there a way to do that, that would interface with the currently running process, or launch a local one but would not require all the dependent stuff? What I want to do is have a bridging local process/service that it's writing would be open and flexible to use any of the web2py/app objects/classes/methods running on the server, without having to decorate all the app's code and having to write glue-code for each function in the client side. Is that possible? On Jun 26, 11:08 pm, Jason Brower <encomp...@gmail.com> wrote: > Massimo is right and I support him. No exec unless ABSOLUTELY needed, > and I mean it. :P > Running the web2py as a service does a good job. > From what you say, you could do as massimo says and create a service to > handle that special communication. > Basically, I am just seconding Massimo cause he is awesome. > --- > Jason > > On 06/26/2011 08:32 PM, Massimo Di Pierro wrote: > > > > > > > > > Please do not use exec_environment. Can you tell us more what kind of > > interface you need? What is the purpose? > > > There are various way to interface and which one you use depend on the > > purpose: > > > 1) > > web2py.py -S app -M -N -R yourcode.py > > > 2) > > From your code > > db = DAL(...,path='/path/to/db',auto_import=True) > > > 3) > > expose a service, access the service (XML-RPC) > > > 4) > > queue tasks in db, access db and process tasks > > > On Jun 26, 12:08 pm, Arnon Marcus<a.m.mar...@gmail.com> wrote: > >> Hi everybody, > > >> I'm searching for a way to interface into a web2py application, that > >> does not use any of the built-in function-decorators. > >> I want to write a service that would run locally, and interact with > >> the web2py server, located on our company server, and serve as a > >> common bridge for multiple local applications running on a user's > >> machine. > >> On the back-end sides of the service I got things covered. > >> On it's front-side, the side that would talk to the web2py > >> application, I was hoping to use something more flexible and open then > >> xml-rpc or any of the rpc's... > >> I was thinking on the lines of running an RPyC server along-side the > >> web2py server, that would serve as a hub into the running process of > >> the web2py application. > >> I was also looking at Pyro, but the opinions about it where not great, > >> compared to RPyC. > >> I tried using the shell.py functionality, with no success. > >> I couldn't even interface with the welcome application on a fresh code > >> of web2py, via the web2py shell... It seems that something is broken > >> there... > >> I'm running from a command line, on the web2py folder: > >> "python web2py.py -S welcome -M -N" > >> The console/shell appears (the ">>>" stuff...) > >> Then I do: > >> "from gluon.shell import exec_environment" > >> Then I tried: > >> "cas = exec_environment('applications/welcome/models/db.py')" > >> and > >> "other = exec_environment('applications/welcome/controllers/ > >> other.py')" > >> And they both throw me errors... > > >> And also, even if it did work, even though it should, theoretically, > >> allow me to remotely use the DAL, it would be even more inefficient > >> then using xml-rpc, as every user would have to remotely invoke an > >> additional separate partial-web2py server process (if I understand the > >> mechanism correctly...). > > >> Is there any efficient way to do what I need?