In the past we would have installed such scripts in system.agents to get something similar to happen, it comes pretty close to doing what scheduled threads do, but they don't quite get there. First, if an agent dies, there's no supervisor to restart it. Second, all agents run together in a single thread. This means that if an agent is doing something that takes a few seconds, it holds up all the other agents. In the real world this could mean that email doesn't get sent until a search engine is finished doing an overnight crawl.
Threads are better than agents for server apps, they truly run concurrently, they wait for nothing.
There's a new version of system.shutdown.shutdownscript in the root updates process. It calls scheduler.shutdown as Frontier exits. Pointers See the docs page for the original scheduler . Hmm, I like the looks of this. I have a strong dislike of agents, and saw various problems with trying to manage the queue thread via an agent.