guryanovev / CrystalQuartz

pluggable UI for Quartz.NET
MIT License
1.01k stars 313 forks source link

Couldn't obtain triggers for job: The time zone ID '' was not found on the local computer #51

Closed Gamain closed 6 years ago

Gamain commented 6 years ago

One or more errors occurred. (Couldn't obtain triggers for job: The time zone ID 'China Standard Time' was not found on the local computer.) Couldn't obtain triggers for job: The time zone ID 'China Standard Time' was not found on the local computer. The time zone ID 'China Standard Time' was not found on the local computer. Could not find file '/usr/share/zoneinfo/China Standard Time'.

toftware commented 6 years ago

Sounds more like a Quartz issue than CrystalQaurtz, i bet you have scheduled one thing from maybe Windows and are hosting on Linux. The timezone names are different between them.

guryanovev commented 6 years ago

This issue is more for Quartz.NET itself, not CrystalQuartz Panel. According to the docs, there might be problems on linux related to timezones:

KNOWN ISSUES

  • Issues with time zone ids between Windows and Linux, they use different ids for the same zone
  • No remoting support for .NET Core

You might need to use specific timezone id in trigger initialization code:

// make sure id "GMT Standard Time" is known by the system
var timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time"); 

TriggerBuilder
     .Create()
     .WithIdentity("...")
     .StartNow()
     .WithCronSchedule("...", csb => csb.InTimeZone(timeZoneInfo)).Build();

Closing for now.