JiShe.CollectBus/JiShe.CollectBus.Application/JiSheCollectBusApplicationModule.cs
2024-11-13 00:30:24 +08:00

40 lines
1.3 KiB
C#

using System.Reflection;
using Hangfire;
using JiShe.CollectBus.Common.Jobs;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
using Volo.Abp.Modularity;
namespace JiShe.CollectBus.Application
{
public class JiSheCollectBusApplicationModule: AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
//var configuration = context.Services.GetConfiguration();
//context.Services.AddJobs(configuration);
}
public override void OnPostApplicationInitialization(ApplicationInitializationContext context)
{
var interfaceType = typeof(IBaseJob);
var assembly = Assembly.GetExecutingAssembly();
var types = assembly.GetTypes();
foreach (var type in types)
{
if (type.IsClass && type.GetInterfaces().Contains(interfaceType))
{
var instance = context.ServiceProvider.GetService(type);
//var instance = services.GetObject<IBaseJob>();
//var instance = Activator.CreateInstance(type);
RecurringJob.AddOrUpdate(type.Name, () => type.GetMethod("Execute").Invoke(instance, null), Cron.Minutely);
}
}
}
}
}