Forum OpenACS Q&A: Reloading Scheduled tasks
We have found that if we edit the proc which is called by a scheduled task then we can't reload it or make the schedule see the changes unless we restart the server.
Is this the expected behaviour and is there a way to reload scheduled tasks without restarting the server?
The OpenACS package reload feature is a clever hack, not a complete solution, and it only works for connection threads. It has no effect on the scheduler thread. There may be better ways to implement that reload feature nowadays, but AFAIK no one has done so yet.
In particular, ns_eval might (and probably should) do the right thing! I'm not sure though, I've never checked to see if it affects the scheduler thread.
Somewhat related, Jeff Hobb's also recently mentioned that the Tcl mod-8-3-4-branch CVS branch includes a Tcl interpreter cloning function, which unfortunately was never made part of the standard Tcl core.
A clonable interpreter would be a bonus for AOLs if it was implemented but the hack that OACS uses works fine for everything apart from schedules - assuming that you remember to reload the files :o)