The model is executed at every http request, new thread or not new
thread.

On Aug 24, 9:36 pm, pierreth <pierre.thibau...@gmail.com> wrote:
> On 24 août, 13:04, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > when you do "python web2py.py" you do not start the wsgi app. You
> > start the rocket web server which makes a number of threads. When a
> > new http request arrives it is assigned to a free thread (or a new
> > thread is created) and the wsgi is run in that thread to server that
> > request and only that request.
>
> I guess that each time a thread is put in service the model is
> executed again. So, for the model, a version of the instance exist for
> each thread. Right?
>
> > > So, as a web2py developer, what do I have to do to avoid
> > > synchronization problems in my application. Where is the danger of
> > > having multiple threads for the web2py developers? What are the
> > > instances shared my multiple threads? What are the instances living in
> > > their own threads?
>
> > You do have to do anything because every concurrency issue is taken
> > care automatically. There are some DO NOTs:
> > - do not ever call os.chdir
> > - do not import third party modules that are not thread safe
> > - do not use thread.start_new_thread and threading.Thread.start()
> > - if you open a file that is not uniquely associate to this http/
> > request/client/session lock the file.
>
> OK

Reply via email to