This commit is contained in:
陈梓阳 2024-02-09 13:41:40 +08:00
parent 41a1dc8a4f
commit 913c725fe1
4 changed files with 15 additions and 9 deletions

View File

@ -595,15 +595,17 @@ async Task RunProgram()
host.Services.AddDataSourceFactory();
host.Services.AddErrorRecorderFactory();
host.Services.AddSingleton<ProcessContext>();
host.Services.AddKeyedSingleton<DataRecordQueue>(ConstVar.Producer, new DataRecordQueue(200_000));
host.Services.AddRecordQueuePool(tenantDbOptions.DbGroup.Keys.Select(key => (key:key, queue:new DataRecordQueue(60_000))).ToArray());
var prodLen = host.Configuration.GetRequiredSection("RecordQueue").GetValue<int>("ProducerQueueLength");
var consLen = host.Configuration.GetRequiredSection("RecordQueue").GetValue<int>("ConsumerQueueLength");
host.Services.AddKeyedSingleton<DataRecordQueue>(ConstVar.Producer, new DataRecordQueue(prodLen));
host.Services.AddRecordQueuePool(tenantDbOptions.DbGroup.Keys.Select(key => (key:key, queue:new DataRecordQueue(consLen))).ToArray());
host.Services.AddSingleton<ITaskMonitorLogger, CacheTaskMonitorLogger>();
host.Services.AddSingleton<ITaskMonitorLogger, LoggerTaskMonitorLogger>();
host.Services.AddHostedService<MainHostedService>();
host.Services.AddSingleton<IInputService, FileInputService>();
host.Services.AddSingleton<ITransformService, TransformService>();
host.Services.AddSingleton<IOutputService, OutputService>();
host.Services.AddSingleton<IOutputService, VoidOutputService>();
host.Services.AddSingleton<TaskMonitorService>();
host.Services.AddRedisCache(redisOptions);
var app = host.Build();

View File

@ -49,7 +49,7 @@ public class CsvReader : IDataReader
if (string.IsNullOrWhiteSpace(str))
return false;
var fields = ParseRow(str, QuoteChar, Delimiter[0]);
var fields = ParseRowFaster(str, QuoteChar, Delimiter[0]);
Current = new DataRecord(fields, TableName, Headers);
return true;
}

View File

@ -11,9 +11,9 @@
},
"Transform":{
"StrictMode": false, // true
"EnableFilter": true, //
"EnableReplacer": true, //
"EnableReBuilder": true, //
"EnableFilter": false, //
"EnableReplacer": false, //
"EnableReBuilder": false, //
"CleanDate": "202301" //
},
"Output":{
@ -23,9 +23,13 @@
"MaxDatabaseOutputTask" : 4, //
"TreatJsonAsHex": false // json16(0x)json
},
"RecordQueue":{
"ProducerQueueLength": 50000, //
"ConsumerQueueLength": 10000, //
},
"RedisCache": {
"Configuration": "192.168.1.246:6380",
"InstanceName" : "mes-etl:"
"InstanceName" : "mes-etl:"
},
"TenantDb": //
{

View File

@ -38,7 +38,7 @@ public class Test
while (!reader.EndOfStream)
{
var str = await reader.ReadLineAsync();
// char a;
char a;
// foreach (var c in str)
// {
// a = c;