private async Task CreateTriggerAndStart(JobInfo job)
        {
            var scheduler = await _schedulerFactory.GetScheduler();

            await TryAddJob(scheduler, job.Id);

            var data = new JobDataMap();

            data.SetMapData(job);

            ITrigger newJobTrigger = TriggerBuilder.Create()
                                     .WithIdentity(job.GetTriggerKey())
                                     .ForJob(job.GetJobKey())
                                     .UsingJobData(data)
                                     .WithCronSchedule(job.Cron)
                                     .Build();

            if (await scheduler.CheckExists(job.GetTriggerKey()))
            {
                await scheduler.RescheduleJob(job.GetTriggerKey(), newJobTrigger);
            }
            else
            {
                await scheduler.ScheduleJob(newJobTrigger);
            }
        }