public void AddAndStart(ScheduledTask task)
        {
            _scheduler.StartIfNeeded();

            var job = task.GetJob();

            if (_scheduler.CheckExists(job.Key))
            {
                _scheduler.DeleteJob(job.Key);
            }

            var trigger = task.GetTrigger();
            _scheduler.ScheduleJob(job, trigger);

            _logger.Info("Job scheduled job name: {0} ,the job will fire at {1}", job.Key, trigger.GetNextFireTimeUtc());

            if (job.JobDataMap.ContainsKey("data"))
                _logger.Info("Job {0} has data: {1}", job.Key, job.JobDataMap["data"]);
        }