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?

Reply via email to