public DFrameApp(ILogger <DFrameApp> logger, IServiceProvider provider, DFrameOptions options, DFrameWorkerCollection workers) { this.provider = provider; this.logger = logger; this.workers = workers; this.options = options; }
public static async Task RunDFrameAsync(this IHostBuilder hostBuilder, string[] args, DFrameOptions options) { var workerCollection = DFrameWorkerCollection.FromCurrentAssemblies(); if (args.Length == 0) { ShowDFrameAppList(workerCollection); return; } hostBuilder = hostBuilder .ConfigureServices(x => { x.AddSingleton(options); x.AddSingleton(workerCollection); foreach (var item in workerCollection.All) { x.AddTransient(item.WorkerType); } }); if (args.Length != 0 && args.Contains("--worker-flag")) { await hostBuilder.RunConsoleAppFrameworkAsync <DFrameWorkerApp>(args); } else { await hostBuilder.RunConsoleAppFrameworkAsync <DFrameApp>(args); } }
static void ShowDFrameAppList(DFrameWorkerCollection types) { Console.WriteLine("WorkerNames:"); foreach (var item in types.All) { Console.WriteLine(item.Name); } }
public DFrameRamupRunner(ILogger <DFrameApp> logger, IServiceProvider provider, DFrameOptions options, DFrameWorkerCollection workers, int maxWorkerPerProcess, int workerSpawnCount, int workerSpawnSecond) : base(logger, provider, options, workers) { this.maxWorkerPerProcess = maxWorkerPerProcess; this.workerSpawnCount = workerSpawnCount; this.workerSpawnSecond = workerSpawnSecond; }
public DFrameConcurrentRequestRunner(ILogger <DFrameApp> logger, IServiceProvider provider, DFrameOptions options, DFrameWorkerCollection workers, int workerPerProcess, int executePerWorker) : base(logger, provider, options, workers) { this.workerPerProcess = workerPerProcess; this.executePerWorker = executePerWorker; }