1

请给我一些建议。

我的问题如下,我正在自定义计划任务中实现依赖项。任务本身是用必要的依赖初始化的,但是,在启动过程中,任务转移到状态正在运行,但代码没有执行

计划任务:

 public class TestJob : ScheduledTask, IJob
{
    private readonly ITestService _testService;

    public TestJob(ITestService service)
    {
        if (service is null)
        {
            throw new ArgumentException(nameof(service));
        }

        _testService = service;

    }
    public override void ExecuteTask()
    {
        _testService.DoSomting("From job");
    }

    public override string TaskName
    {
        get
        {
            return this.GetType().FullName;
        }
    }

测试服务

public interface ITestService
{
    void DoSomting();
    void DoSomting(string message);
}


 public class TestService : ITestService
{
    public void DoSomting()
    {
        LogHelper.Logger().Information("======> Somting happined");
    }

    public void DoSomting(string message)
    {
        LogHelper.Logger().Information($"======> Somting happined {message}");
    }
}

记录

        private void CreateJob<T>(SchedulingManager manager, string appSettingsName)
        where T : ScheduledTask
    {
        try
        {

            var job = ObjectFactory.Resolve<T>();
            var newUsersAddingJobSettings = settings_eg;

            job.Id = Guid.NewGuid();
            job.Title = job.TaskName;
            job.ScheduleSpecType = settings_eg[0];
            job.ScheduleSpec = settings_eg[1];
            job.ExecuteTime = CrontabHelper.GetExecuteTime(nsettings_eg);
            manager.AddTask(job);
            manager.SaveChanges();

        }
        catch (Exception e)
        {
            ////
        }
    }

在ninjet中注册服务

ObjectFactory.Container.RegisterType<ITestService, TestService>();
4

0 回答 0