Кварцевый триггер работает без использования сервиса Deamon Linux. Триггер не срабатывает, если я использую сервис Deamon. Я использовал Quartz, потому что каждые 200 секунд мне нужно звонить на работу. Если я запускаю Linux, используя Do tnet program.dll, отлично работает.
namespace DSS.BillProcessor
{
public class Program
{
private static int IntervalInSeconds = 0;
async static Task Main(string[] args)
{
try
{
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", true, true);
var configuration = builder.Build();
await ScheduleJob(serviceProvider);
Console.ReadLine();
}
}
private static async Task ScheduleJob(IServiceProvider serviceProvider)
{
try
{
Console.WriteLine("Working");
var props = new NameValueCollection { { "quartz.serializer.type", "binary" } };
var factory = new StdSchedulerFactory(props);
var sched = await factory.GetScheduler();
sched.JobFactory = new JobFactory(serviceProvider);
await sched.Start();
var job = JobBuilder.Create<Job>().Build();
var trigger = TriggerBuilder.Create().StartNow() //Set particular time if neeed.
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(200) //Set time intervel
.RepeatForever()).Build();
await sched.ScheduleJob(job, trigger);
Console.WriteLine("Working but not Firing trigger");
}
catch (Exception ex)
{
//Logger.WriteToLogFile(ex, "Error");
}
finally
{ }
}
}