Commit 3c322c33 authored by yangxiaodong's avatar yangxiaodong

modify GetJobs from DI.

parent da57138b
...@@ -9,14 +9,18 @@ using Microsoft.Extensions.Logging; ...@@ -9,14 +9,18 @@ using Microsoft.Extensions.Logging;
namespace Cap.Consistency.Job namespace Cap.Consistency.Job
{ {
public class CronJobProcessor : IProcessor public class CronJobProcessor : IJobProcessor
{ {
private ILogger _logger; private ILogger _logger;
private IServiceProvider _provider; private IServiceProvider _provider;
private DefaultCronJobRegistry _jobRegistry;
public CronJobProcessor( public CronJobProcessor(
DefaultCronJobRegistry jobRegistry,
ILogger<CronJobProcessor> logger, ILogger<CronJobProcessor> logger,
IServiceProvider provider) { IServiceProvider provider) {
_jobRegistry = jobRegistry;
_logger = logger; _logger = logger;
_provider = provider; _provider = provider;
} }
...@@ -31,7 +35,8 @@ namespace Cap.Consistency.Job ...@@ -31,7 +35,8 @@ namespace Cap.Consistency.Job
private async Task ProcessCoreAsync(ProcessingContext context) { private async Task ProcessCoreAsync(ProcessingContext context) {
//var storage = context.Storage; //var storage = context.Storage;
//var jobs = await GetJobsAsync(storage); //var jobs = await GetJobsAsync(storage);
var jobs = GetJobsAsync();
var jobs = GetJobs();
if (!jobs.Any()) { if (!jobs.Any()) {
_logger.CronJobsNotFound(); _logger.CronJobsNotFound();
...@@ -92,7 +97,7 @@ namespace Cap.Consistency.Job ...@@ -92,7 +97,7 @@ namespace Cap.Consistency.Job
//var connection = provider.GetRequiredService<IStorageConnection>(); //var connection = provider.GetRequiredService<IStorageConnection>();
//await connection.AttachCronJobAsync(computedJob.Job); //await connection.AttachCronJobAsync(computedJob.Job);
//computedJob.Update(DateTime.UtcNow); computedJob.Update(DateTime.UtcNow);
//await connection.UpdateCronJobAsync(computedJob.Job); //await connection.UpdateCronJobAsync(computedJob.Job);
} }
...@@ -126,24 +131,18 @@ namespace Cap.Consistency.Job ...@@ -126,24 +131,18 @@ namespace Cap.Consistency.Job
return computedJob.FirstTry.AddSeconds(retryBehavior.RetryIn(retries)); return computedJob.FirstTry.AddSeconds(retryBehavior.RetryIn(retries));
} }
//private async Task<CronJob[]> GetJobsAsync(IStorage storage) { private CronJob[] GetJobs() {
// using (var scope = _provider.CreateScope()) { var cronJobs = new List<CronJob>();
// var provider = scope.ServiceProvider; var entries = _jobRegistry.Build() ?? new CronJobRegistry.Entry[0];
// var connection = provider.GetRequiredService<IStorageConnection>(); foreach (var entry in entries) {
cronJobs.Add(new CronJob {
// return await connection.GetCronJobsAsync(); Name = entry.Name,
// } TypeName = entry.JobType.AssemblyQualifiedName,
//} Cron = entry.Cron,
LastRun = DateTime.MinValue
private CronJob[] GetJobsAsync() { });
return new CronJob[] { }
new CronJob { return cronJobs.ToArray();
Id= Guid.NewGuid().ToString(),
Cron= "* * * * *",
Name="Cap.Messages",
TypeName = null
}
};
} }
private ComputedCronJob[] Compute(IEnumerable<CronJob> jobs, CronJobRegistry.Entry[] entries) private ComputedCronJob[] Compute(IEnumerable<CronJob> jobs, CronJobRegistry.Entry[] entries)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment