[Product-Developers] Thoughts on merging sauna.reload into plone.reload
Asko Soukka
asko.soukka at iki.fi
Mon Oct 24 07:14:41 UTC 2011
Hi Fellows,
I just noticed that there has been some discussion about merging
sauna.reload with plone.reload (or replacing plone.reload completely).
As a sauna.reload's maintainer, I think, it would be nice to have
sauna.reload functionality as a feature of plone.reload, but I can't see
it replacing plone.reload completely. It won't work for all of the use
cases of plone.reload, it's not always faster and, even the idea is
simple, It's much more fragile.
Personally, I use only sauna.reload, and it's great when it works, but...
0) It needs a little more work to set up and more care to use
1) I'd expect it to be next to useless for Plone core development (it
could be hard to defer loading of core products beyound the fork point
and deferring too much code makes the reload slow again)
2) It depends on z3c.autoinclude
3) It may alter the loading order of ZCMLs and does implicit
<includeDependencies /> for observed products (and some generic products
do have dependencies whose ZCMLs are not meant to be included for Plone)
4) Currently, only ZODB is supported
5) Changes in ZODB and Zope2 packages may easily break it
6) It still has bugs: signals from subprocesses may cause unwanted
reloads in some situations (e.g. you cannot use vimpdb with sauna.reload)
I'm sure that some of the issues above can be fixed, but even then,
plone.reload works fine as long as you don't grok.
I think, many could benefit more from adding (optional) built-in support
for watchdog into plone.reload. Although, of course, watchdog can also
be used directly from shell to trigger plone.reload when files get updated:
[scripts]
recipe = zc.recipe.egg
eggs = watchdog
bin/watchmedo shell-command --command="wget --spider
http://localhost:8080/@@reload?action=code" --patterns="*.py;*.zcml"
--recursive src/my.product
(And more complex operations can be described using configuration files.)
My two cents.
Best Regards,
Asko
More information about the Product-Developers
mailing list