Forum OpenACS Q&A: Reloading Scheduled tasks

Collapse
Posted by Steve Manning on
Hi Chaps

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?

- Steve

Collapse
Posted by Andrew Piskorski on
Yes, what you are seeing is expected behavior. No, you must restart AOLserver - at least that's what I've always done.

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.

Collapse
Posted by Steve Manning on
Thanks Andrew. Confirmation that I hadn't missed something obvious was what I was after.

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)

- Steve