Hello.


How can I stop a running timer and start it again?

It was needed to change some code on it, and I need to deactivate and activate it again. 

I already tried to clicking on deactive button and after activate, but it seems that didn't stop it.


Thanks

If it's running it's running.


next time you should add a killswitch (simple site-property of type boolean)



If I have a bug on script timer, I need correct code it's not possible stop the timer (because this running timer is running at 6 days) and activate it again?

Hi Ana,

If the timer is running there is not pretty way to stop it. 

However you can deactivate the timer and do a iisreset  on the server that is running the timer which will stop everything running including your timer, and since it is deactivated it should not start again.

Ana Reis

Hi Ana,

The information about the "duration" of the timer execution displayed in Service Center is computed based on the ossys_cyclic_job.is_running_since system table. The scheduler service is responsible for the maintenance of the coherence of this table (based on the timers that executes).

On the other hand, a timer request is simply a web service request executed by the Scheduler Servicer to your application (the web service is internaly generated by the outsystems platform).

From this information you can deduce two things:
1. If you restart IIS, the timer stops (as a timer is simply a web service request, this means a iisreset will definitely kill your timer execution).
2. If the information about the duration in the Service Center appears wrong even after an IISReset and a Scheduler Service restart, this means that somehow the information in the system table became inconsistent on the database (i.e. the scheduler service was not able to update the ossys_cyclic_job.is_running_since timer entry correctly). To correct it you can run the timer again (so that the scheduler service corrects it).



Hello Ana.

The best practices concerning Timers say that they must be:
-stoppable (by setting the referred above killswitch)
-partitioned (if a timer is running for more than x minutes, it should save data and restart from the last checkpoint).

The second point isn't needed in small timers that run for seconds, but anything that is out of your direct control (and timers definitely fit into such category) should be stoppable.


Tell me one thing. How can it be running for so long? Don't you have a default timeout of 20 minutes?

I think that what happened is your IIS restarted and the measure of time is wrong. The timer is probably stopped by now.

Check under Monitoring/Environment Health if the timer is really running.