私はQuartzジョブを処理するC#Topshelf Windowsサービスを持っています。これらのジョブは、このように、データベースに格納されています。Crontriggerを使用した非繰り返しクォーツジョブ?
public class JobConfiguration : IJobConfiguration {
public string Name { get; set; } //ImportService
public string Type { get; set; } //[ClassName, AssemblyName]
public string CronTrigger { get; set; } //example: 0 0 12 * * ?
public string CronMeaning { get; set; } //example: fire at noon every day
}
は、今私は(他のすべてのジョブが繰り返されなければならなかった)1回のみ起動されたジョブを追加する必要があります。私の(一時的な)ソリューションは、CronTriggerフィールドのNULLを残すなどの代わりにCronTriggerのSimpleTriggerでこれらのジョブを開始することです:
if (JobConfiguration.CronTrigger == Null)
//start job with Quartz SimpleTrigger
else
//start job with Quartz CronTrigger
これを行うには良い解決策はありますか?言い換えれば、CronTriggerは、あなたが一度だけ仕事を始め、それを繰り返さないようにすることです。