Windows Azure には SQL エージェントがないため、ストアド プロシージャの実行をスケジュールするには、SQL エージェントのように機能する独自のワーカー ロールを作成する必要があります。
さて、日付の部分を除いて、この部分ですべて準備が整いました。これは非常に論理的なはずですが、私にはそうは思えません。では、今日が月の最初の日であり、週の最初の日であるかどうかを確認するにはどうすればよいですか。
これは私がこれまでに持っているものです:
Trace.WriteLine("SqlWorkerRole entry point called", "Information");
while (true)
{
DateTime firstDayOfMonth = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, 1, 0, 0, 0);
if (DateTime.UtcNow > firstDayOfMonth)
{
Guid? jobId = StartJob("MonthJob");
if (jobId.HasValue)
{
Trace.WriteLine("Working", "Information");
ExecuteMonthJob();
StopJob(jobId.Value);
}
}
else
{
Thread.Sleep(60000);
}
DateTime firstDayOfWeek = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, 1, 0, 0, 0);
if (DateTime.UtcNow > firstDayOfWeek)
{
Guid? jobId = StartJob("WeekJob");
if (jobId.HasValue)
{
Trace.WriteLine("Working", "Information");
ExecuteWeekJob();
StopJob(jobId.Value);
}
}
else
{
Thread.Sleep(60000);
}
}
この部分について助けが必要です (月の初日)
DateTime firstDayOfMonth = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, 1, 0, 0, 0);
if (DateTime.UtcNow > firstDayOfMonth)
および (週の最初の曜日)
DateTime firstDayOfWeek = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, 1, 0, 0, 0);
if (DateTime.UtcNow > firstDayOfWeek)