System Agent Schedule Bug (GMT vs EST)

We have the following schedule in our System Agent

So we want this to run EVERY Night at 10 PM (EST) (Except Sundays)

However it did not run last Saturday (and checking back it has never ran on ANY Saturday, instead it is actually running on Sunday) :zipper_mouth_face:

After much Investigating we found the following.

10PM EST is stored in the Ice.SysAgentSched table as 2AM (GMT) the next day

So Saturday 10PM is stored as Sunday @ 2AM

While looking at the run History for the process we see that it dutifully runs at 2AM (GMT) as expected on Saturday (which is the Friday 10PM (EST) Run)

image

However then it Skips the 2AM on 5/17 (Sunday) which would be a Saturday 10 PM (EST) Run My guess is because we told it not to run on Sunday

It appears that it is doing the Day of the Week check on GMT time, while running the schedule instead of converting it to EST before checking which causes it to run on the wrong day of the week

CASE: CS0002048210
Epicor Version: 10.2.300.12

@JeffLeBert I hear this one may be up your alley? Any insights?

1 Like

(emphasis mine)

What part of the Eastern Time Zone doesn’t use DST? :wink:

This is “up my alley” even though I’m playing in other areas now.
:blush:

I remember seeing this and thinking it was wrong, but was so deep in other areas, that I couldn’t investigate fully. I don’t recall exactly what the little investigation I did found. I think it is 100% correct to store the date/time as
UTC. My first “major” work in Task Agent was in 10.2.500 so I would have been trying to keep things compatible, even if odd. I vaguely remember the problem was in the UI itself.

The good news is that you can adjust your time so that it will be 10PM. This sucks, but should work fine. Maybe submit a bug to Epicor? You’ve already documented the issue beautifully.

I don’t think the issue is that it’s not running at the time the UI says. But rather the Day of the week is off, when the time displayed on the UI is before midnight, and it’s UTC equivalent is after.

YUP you hit it on the head.

Thanks Jeff I was just throwing it here for documentation and to inform others. I opened a case with support and hopefully it will escalate (eventually when I explain it to them 14 times lol)
We’ve made the correction on our side this is really only an issue if you are
a) skipping a day
b) && the time of the schedule drives GMT into the next day

So very specific conditions that we just so happen to hit… To the tune of $200K (attributed to the wrong financial period) but we’ll manage for now.
And it is reported.

Thank @ckrusen, that got some neurons firing again. That does sound like what I found when I looking at this. If I remember correctly, the time is in UTC and the days basically are not.

The UI fix would be fairly easy. It would be hard to migrate the existing schedules because we don’t know the time zone the user was in, so we couldn’t determine if the days in the schedule were correct or a day off either way. I guess, you would use the time zone from where you were doing the migration and be pretty close.

1 Like

Epicor be like

The root of the issue is how NextRun is calculated

2 Likes

I resemble that remark. :- :upside_down_face:

1 Like

This has been accepted by Epicor as a bug
Problem: PRB0218232
ETA: ~10.2.700

Beat you to it, @josecgomez. I mentioned this in November. I wasn’t kind enough to put in a ticket, though.

1 Like

Darn it @JasonMcD if you had put in a ticket the ETA may be ~500 and maybe I would have missed being wounded… oh wait I’m still in 300… but it’s the principle that matters!

LoL :joy:

2 Likes

Yeah I doubt it. Support doesn’t usually take my advice. #disaffected

And actually I caught it way before November. So it could’ve been 300, just to make myself look worse.