2

Azure ワーカー ロール (西ヨーロッパ ゾーンでホストされている) で Quartz.Net を使用していますが、何らかの理由でスケジューラが機能せず、次のエラーがスローされます。

次に起動するトリガーをスキャン中にエラーが発生しました。次のトリガーを取得できませんでした: トリガーを取得できませんでした: タイム ゾーン ID '協定世界時' がローカル コンピューターに見つかりませんでした。

私のAzure Webサイトアプリケーションでホストされている場合、同じ構成の同じスケジューラが機能しています。何か案が ?

4

3 に答える 3

1

実際に先に進み、「UTC」のキー/値をテンプレートとしてエクスポートし、 Quartz を満たす「協定世界時」という名前を使用して編集しましたが、元のキーは保持されています。次に、このコマンドを deployment.cmd に追加しました。

regedit /s addtutctz.reg

これで、インスタンスが再プロビジョニングされたり、クラウド サービスが再作成されたりしても、レジストリ キーが自動的にマージされることが保証されます。

于 2013-03-20T15:43:13.140 に答える
0

私も同じ問題を抱えていました。特定の TimeZone でトリガーを作成して修正しました。

    private static ITrigger BuildTriggerForEveryDayAtSpecifiedTime(int hour, int minutes)
    {
        var timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time");

        return TriggerBuilder
                        .Create()
                        .WithIdentity(string.Format("Triggers every Day at {0}:{1}", hour, minutes), "MyJobs")
                        .StartNow()
                        .WithCronSchedule(string.Format("0 {0} {1} ? * *", minutes, hour), csb => csb.InTimeZone(timeZoneInfo))
                        .Build();
    }
于 2013-05-14T01:38:06.933 に答える
0

これは最善の解決策ではありませんが、Azure 上に新しい仮想マシンを作成し、VM にリモートでログを記録し、ワーカーをデプロイし、UTC のレジストリ キーを変更しました。私は基本的にキーを「UTC」から「協定世界時」に変更し、それで問題が解決しました。現在、Quartz.Net は正しく実行されています。

于 2013-03-18T10:47:56.493 に答える