I agree. I do not know how this discussion on reloading of modules
started. I never use. It is not in the book. One never needs it. I
find it easy enough to restart web2py when I edit modules.

Massimo

On Aug 31, 11:17 pm, Graham Dumpleton <graham.dumple...@gmail.com>
wrote:
> On Aug 31, 10:48 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > Complaint #3: Having to do strange things (like double-imports and
> > > reloads) to pick up run-time changes in my module.  (This may be where
> > > the complaint about 3rd party modules comes from.)
> > > Response #3: I believe the issue here is that there is a module which
> > > is being developed/debugged, but changes to it aren't getting picked-
> > > up without re-starting the application (or doing "strange things").
> > > Were the module being developed located inside web2py during
> > > development, then I believe edits would get picked up immediately.
>
> > As in ANY language is you change he source code of a module imported
> > by a running application, the running application does not see the
> > change. For debugging purposes you may want to force python programs
> > to reload modules when they are used in case they have changed. Python
> > provides a keyword for doing this: reload.  You can use it in web2py,
> > you do not have to.
>
> I'd suggest that use of 'reload' be discouraged as in process
> reloading in any form can't be made to be 100% guaranteed to work. The
> only reliable way is to restart the process.
>
> FWIW, Apache/mod_wsgi can be configured to auto detect changes and
> restart the process automatically. This is covered in the mod_wsgi
> documentation and have blogged previously about how to apply that to
> Django on UNIX and Windows systems.
>
>  http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode
>
>  http://blog.dscpl.com.au/2008/12/using-modwsgi-when-developing-django...
>  http://blog.dscpl.com.au/2009/02/source-code-reloading-with-modwsgi-o...
>
> As usual, too busy to document or blog in exact detailt about how that
> could be applied to web2py, but it isn't that hard.
>
> It would be entirely feasible to actually incorporate the code monitor
> into web2py code base so all you needed to do during development is to
> point it at different script file instead of wsgihandler.py.
>
> The gist of it would be to create wsgidevhandler.py. In that put the
> monitor code from the mod_wsgi wiki page plus:
>
>   from web2py.wsgihandler import application
>
>   start(interval=1.0)
>
> You could also add calls to track() if web2py has non Python files
> which aren't refreshed automatically and which need to trigger a
> restart.
>
> Then point WSGIScriptAlias at wsgidevhandler.py instead of
> wsgihandler.py and ensure you add an Allow directive for access to
> that handler has well as what is already described in the book. For
> example:
>
>   <Directory /Users/grahamd/Testing/web2py>
>   AllowOverride None
>   Order Allow,Deny
>   Deny from all
>   <Files wsgihandler.py>
>   Allow from all
>   </Files>
>   <Files wsgidevhandler.py>
>   Allow from all
>   </Files>
>   </Directory>
>
> Okay, this means running Apache, but if you are deploying to Apache
> then developing on same hosting arrangement is better anyway as you
> will identify earlier anything which may work subtly different on what
> will be your production system.
>
> Graham
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to