Sauna.reload with Ubuntu 20.04

Hi all!

I am new to Plone, currently working on a site with Plone version 4.3.14. I have installed sauna.reload to automatically load code. When I run the site with "RELOAD_PATH=src/ bin/instance fg", I get the following message on the console:

2021-08-26 15:13:10 INFO Zope Ready to handle requests
2021-08-26 15:13:10 INFO sauna.reload.parent Starting file monitor on /home/{site_path}/src
2021-08-26 15:13:10 INFO sauna.reload.parent We saved at least 11.4786629677 seconds from boot up time
2021-08-26 15:13:10 INFO sauna.reload.parent Overview available at http://127.0.0.1:14010/@@saunareload
2021-08-26 15:13:10 INFO sauna.reload.parent Fork loop starting on parent. PID 8206
2021-08-26 15:13:10 INFO sauna.reload.child Forked new child. Installing reloadable products...
2021-08-26 15:13:11 WARNING sauna.reload.child Cannot reload src/{addon_1}upgrades/configure.zcml.
2021-08-26 15:13:11 WARNING sauna.reload.child Cannot reload src/{addon_2}/patches/configure.zcml.
*** more .zcml WARNING ***
2021-08-26 15:13:11 INFO sauna.reload.child Reloaded src/{addon_1}/upgrades/configure.zcml.
2021-08-26 15:13:11 INFO sauna.reload.child Reloaded src/{addon_2}/patches/configure.zcml.
*** more .zcml INFO ***
2021-08-26 15:13:11 INFO sauna.reload.child Booted up new child in 0.990525007248 seconds. PID 8232

When I make changes to the code, I get the following on the console:

2021-08-26 15:21:17 INFO sauna.reload.parent Got 'modified' event on /home/{addon1}/content/personaldata.py
2021-08-26 15:21:17 INFO SignalHandler Caught signal SIGINT
2021-08-26 15:21:17 INFO Z2 Shutting down
2021-08-26 15:21:18 INFO SignalHandler Caught signal SIGCLD
2021-08-26 15:21:18 INFO sauna.reload.parent Child 8232 exited, reasons: exited with code 0
2021-08-26 15:21:18 INFO sauna.reload.child Forked new child. Installing reloadable products...
2021-08-26 15:21:19 WARNING sauna.reload.child Cannot reload src/{addon_1}/upgrades/configure.zcml.
2021-08-26 15:21:19 WARNING sauna.reload.child Cannot reload src{addon_2}/patches/configure.zcml.
*** more .zcml WARNING ***
2021-08-26 15:21:19 INFO sauna.reload.child Reloaded src/{addon_1}/upgrades/configure.zcml.
2021-08-26 15:21:19 INFO sauna.reload.child Reloaded src/{addon_2}/patches/configure.zcml.
*** more .zcml INFO ***
2021-08-26 15:21:19 INFO sauna.reload.child Booted up new child in 0.990951061249 seconds. PID 8942

I understood that sauna.reload "noticed" the changes, but the changes to the code themselves did not affect the site. Only after a new launch of the site, the changes made to the code are displayed on the site.

I will be very grateful for help.

I don't think you can reload .zcml files.

You can BUT...

During normal processing, a zcml file is processed just once -- even if it is included several times. However, if the zcml machinery is call explicitly zcml files can be processed a second time. Most things (utilities, adapters) are overridden during such a repeated processing; however, subscriptions are added (such you may end up with duplicate handlers).

It is also possible to clear the (global) component registry and then redo the complete zcml processing (that it how plone.reload handles zcml updates).

1 Like