Timer Task to Run on Single Server Instance

My Application Required Timer Task for data sync., how do i setup to run on one single server instance.

HI RMS!

If you want to run a timer in runtime just for one time, you could run it going to Service Center and clicking in Factory/eSpaces/eSpaceWhereYouHaveTimer/Timers/YourTimer/RunNow
Other option is using the WakeTimer function, to wake your timer, in any server action that you want to wake it.




Thanks and Best Regards,

Nuno Pereira

In ServiceCenter, you can specify which FE servers can run timers globally, but I don't think you can make a specific timer run on one server and have other timers running on other servers.

Can you tel us more of what you're trying to do?  What's the reasoning for running it on a specific server?

Kevin Swanson wrote:

In ServiceCenter, you can specify which FE servers can run timers globally, but I don't think you can make a specific timer run on one server and have other timers running on other servers.

Can you tel us more of what you're trying to do?  What's the reasoning for running it on a specific server?

i am doing a data sync from one system to another system. i don't want multiple instance on timer task. i want to make sure at any time only once instance should run. Don't want both servers run the timers.


Solution

Hi Kevin 


Timer in OutSystems is Singleton.

This mean even there are multiple FE servers, there will only one server instance run your data sync Timer.

And it is random which server will run your timer. (For Example, first time is FE2, and next time is FE1)


So If you don't want both server run your timer at same time, then you don't need do anything.


But If you want to fix the server (For Example: always FE2) to run your timer, you have two options

1. Enable only one Server to Execute All your Timers

   You can find this setting from ServiceCenter -> Administrator -> Servers.

2. Enabled only one Server to run your Data Sync Timer, but others can be run by any servers.

   You need create a Deployment Zone and contains only one server.

 https://success.outsystems.com/Documentation/11/Managing_the_Applications_Lifecycle/Deploy_Applications/Selective_Deployment_Using_Deployment_Zones/Create_a_New_Deployment_Zone

   Then configure you Timer module to use that zone from operation tab.


Regards

Wei

Solution