Well, there are a couple of factors here.

That mechanism continuously checks the modification time of the file specified. If the file has been modified since the last invocation, then the file is execfile'd again, and the new implementation used for all future invocations.

So if all of the functionality for the application is in that file, then the new version will definitely take effect, immediately.

However, if the functionality that has changed is outside that file, i.e. it is imported in that file, then that functionality cannot change if you have not been permitted to save the file with the changed functionality.

So, essentially, we're back to the same "unable to save file" problem that you originally faced. Which has been solved.

As for the importable mechanism, I've got some ideas in relation to how we can track that, and allow update checking in that scenario as well. I'll be testing those ideas.

Alan.



On Tue, Nov 13, 2012 at 5:18 PM, jlist9 <jlist9@gmail.com> wrote:
I'm using the app_directory/app_filename/app_callable_name combo.
In fact, I'm only specifying the app_filename param:

    <init-param>
      <param-name>app_filename</param-name>
      <param-value>app.py</param-value>
    </init-param>

cache_callables and reload_on_mod is enabled by default:

    <init-param>
      <param-name>cache_callables</param-name>
      <param-value>1</param-value>
    </init-param>

    <init-param>
      <param-name>reload_on_mod</param-name>
      <param-value>1</param-value>
    </init-param>

On Tue, Nov 13, 2012 at 2:00 AM, Alan Kennedy <jython-dev@xhaus.com> wrote:
[jlist9]

> Just want to report back - so far I haven't run into the file locking issue after
> applying the fix mentioned in Alan's email. However, modjy's reloading does not
> seem to work (jython 2.5.3) so I'll continue to use web.py's reloading.

Glad you got it resolved.

For completeness, which modjy appspec mechanism are you using?

If the "execfile" mechanism,

http://opensource.xhaus.com/projects/modjy/wiki/ModjyAppExecFile

Then I'm surprised if it doesn't work.

If the "importable" mechanism

http://opensource.xhaus.com/projects/modjy/wiki/ModjyAppImportable

The reloading does not work with that, by design.

Alan.