Я работаю над службой воркеров, используя Coraval библиотеку, следуя этой статье. Из класса Program.cs
я хочу передать Invocable
класс и Interface
, но не знаю, как передать Interface
. Это мой Program.cs
код класса
public class Program
{
public static void Main(string[] args)
{
IHost host = CreateHostBuilder(args).Build();
host.Services.UseScheduler(scheduler => {
// Remind schedular to repeat the same job in every five-second
scheduler
.Schedule<ReprocessInvocable>()
.EveryTenSeconds();
});
host.Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices(services =>
{
services.AddScheduler();
// register job with container
services.AddTransient<ReprocessInvocable>();
});
}
Invocable
класс
public class ReprocessInvocable : IInvocable
{
IForceReprocess _forceReprocess;
public ReprocessInvocable(IForceReprocess forceReprocess)
{
_forceReprocess = forceReprocess;
}
public async Task Invoke()
{
_forceReprocess.GetFailedProduct();
Console.WriteLine("Works fine... my first schedule job.......!!!" + DateTime.Now.ToString());
//return Task.CompletedTask;
}
}
Может мне нужен пропуск interface
здесь services.AddTransient<ReprocessInvocable>();