1
This commit is contained in:
@@ -44,9 +44,10 @@ namespace Tnb.WarehouseMgr
|
|||||||
static TimedTaskBackgroundService()
|
static TimedTaskBackgroundService()
|
||||||
{
|
{
|
||||||
_timedFuncMap = App.EffectiveTypes.AsParallel().Where(t => !t.Namespace.IsNullOrWhiteSpace() && t.Namespace.Contains("Tnb.WarehouseMgr")).SelectMany(t => t.GetMethods())
|
_timedFuncMap = App.EffectiveTypes.AsParallel().Where(t => !t.Namespace.IsNullOrWhiteSpace() && t.Namespace.Contains("Tnb.WarehouseMgr")).SelectMany(t => t.GetMethods())
|
||||||
.Where(m => m.GetCustomAttribute<TimedAttribute>() != null)
|
.Where(m => m.GetCustomAttribute<TimedAttribute>() != null)
|
||||||
.ToDictionary(x => x.Name, x =>
|
.ToDictionary(x => x.Name, x =>
|
||||||
(Func<CancellationTokenSource?, Task>)Delegate.CreateDelegate(typeof(Func<CancellationTokenSource?, Task>), App.GetService(x.DeclaringType), x));
|
(Func<CancellationTokenSource?, Task>)Delegate.CreateDelegate(typeof(Func<CancellationTokenSource?, Task>), App.GetService(x.DeclaringType), x));
|
||||||
|
|
||||||
}
|
}
|
||||||
public TimedTaskBackgroundService(IServiceProvider serviceProvider)
|
public TimedTaskBackgroundService(IServiceProvider serviceProvider)
|
||||||
{
|
{
|
||||||
@@ -59,7 +60,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
var channelReader = _serviceProvider.GetRequiredService<ITaskMessageNotify>().Reader;
|
var channelReader = _serviceProvider.GetRequiredService<ITaskMessageNotify>().Reader;
|
||||||
|
|
||||||
CancellationTokenSource? cts = new();
|
CancellationTokenSource? cts = new();
|
||||||
|
|
||||||
while (channelReader != null && await channelReader.WaitToReadAsync())
|
while (channelReader != null && await channelReader.WaitToReadAsync())
|
||||||
{
|
{
|
||||||
while (channelReader.TryRead(out var message))
|
while (channelReader.TryRead(out var message))
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ namespace Tnb.WarehouseMgr
|
|||||||
private readonly IWareHouseService _wareHouseService;
|
private readonly IWareHouseService _wareHouseService;
|
||||||
private readonly IBillRullService _billRullService;
|
private readonly IBillRullService _billRullService;
|
||||||
private readonly IUserManager _userManager;
|
private readonly IUserManager _userManager;
|
||||||
private readonly ChannelWriter<NotifyMessage> _channelWriter;
|
|
||||||
|
|
||||||
public WmsPDAInbaleService(
|
public WmsPDAInbaleService(
|
||||||
ISqlSugarRepository<WmsCarryH> repository,
|
ISqlSugarRepository<WmsCarryH> repository,
|
||||||
@@ -51,7 +50,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
IWareHouseService wareHouseService,
|
IWareHouseService wareHouseService,
|
||||||
IUserManager userManager,
|
IUserManager userManager,
|
||||||
IBillRullService billRullService,
|
IBillRullService billRullService,
|
||||||
ChannelWriter<NotifyMessage> channelWriter)
|
ITaskMessageNotify taskMessageNotify):base(taskMessageNotify.Writer)
|
||||||
{
|
{
|
||||||
_db = repository.AsSugarClient();
|
_db = repository.AsSugarClient();
|
||||||
_runService = runService;
|
_runService = runService;
|
||||||
@@ -59,7 +58,6 @@ namespace Tnb.WarehouseMgr
|
|||||||
_wareHouseService = wareHouseService;
|
_wareHouseService = wareHouseService;
|
||||||
_userManager = userManager;
|
_userManager = userManager;
|
||||||
_billRullService = billRullService;
|
_billRullService = billRullService;
|
||||||
_channelWriter = channelWriter;
|
|
||||||
OverideFuncs.CreateAsync = Inbale;
|
OverideFuncs.CreateAsync = Inbale;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -173,9 +171,7 @@ namespace Tnb.WarehouseMgr
|
|||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
//向队列写入消息
|
await Publish(nameof(IWareHouseService.GenTaskExecute));
|
||||||
NotifyMessage message = new() { TaskName = nameof(IWareHouseService.GenTaskExecute) };
|
|
||||||
await _channelWriter.WriteAsync(message);
|
|
||||||
}
|
}
|
||||||
return Task.FromResult(true);
|
return Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user