Run scheduled job based on time zone

chadlockwood
Kilo Sage

We have a job that runs daily to add new hires to an Active Directory group on their start date. This job runs every morning at 12:30am PST. The problem is that starters around the globe are waiting well into their first day before they are granted the permissions that the AD group gives them. For example, a new hire is Singapore is not added until 2pm Singapore time.

I need to create a scheduled job that will run at 6am (anytime between 12 midnight and 8am local) in each timezone around the globe and only run against starters in that timezone.

I have attempted to create three separate jobs that run at 11am (to cover all of APACJ from approx 12 midnight to 8am), 3pm (for EMEA), and 3am (for North/South/Central America and Hawaii). These are all working ok, but I'm wondering if there is a better, smarter way. This solution does not take time changes into consideration so there is a chance that someone could get added prior to midnight which would be a security violation.

8 REPLIES 8

Pranav Bhagat
Kilo Sage

Pranav,

Thanks for the quick response. From your screenshot, does this mean that this job would automatically run at 2230 in the GMT timezone?

That has potential although we have users in 56 separate timezones, which would mean 56 separate jobs. There are, of course, some time zones that are technically the same time and would be doubled up, but it would probably be easier to create the multiple jobs, rather than try to combine time zones.

You are right it will run at that time in GMT Time zone.

In your use case, I think 56 jobs is too high, if you can scale it down then it would be great and if not your current solution can work.

 

I didn't think there were any time Zones closer than 30 minutes apart, thus are there really more than 48 different time zones?  I was thinking if you ran the job every 30 minutes picking up any user who cross into the new day, then you would satisfy your security requirement.  

Or if it is 56 different locations, you could run the job ever 30 minutes, use a choice list for the locations in the time zone that should trigger at that interval, and process those.