public void TaskSchedulerAsyncTest() { var strings = new List <string>(); var taskScheduler = new TaskSchedulerService(); taskScheduler.QueueTask(async() => { await Task.Delay(100); await AddStringAsync(strings, "a"); }); taskScheduler.QueueTask(async() => await AddStringAsync(strings, "b")); var lastTask = new ManualResetEvent(false); taskScheduler.QueueTask(() => { lastTask.Set(); return(Task.CompletedTask); }); lastTask.WaitOne(); Assert.IsTrue(strings.Take(100).All(x => x == "a"), string.Join(Environment.NewLine, strings)); Assert.IsTrue(strings.Skip(100).All(x => x == "b")); }
private static ITaskSchedulerService <ITask> CreateTaskSchedulerService() { // Normally, these would be injected via DI framework. var taskConsumer = new PausablePipeLineTaskConsumer(); var pipeLine = new ProducerConsumerPipeLine <ITask>(taskConsumer, 3); var taskSchedulerService = new TaskSchedulerService <ITask>(pipeLine); return(taskSchedulerService); }
/// <summary> /// Initializes a new instance of the <see cref="ScheduledTaskController"/> class. /// </summary> /// <param name="loggerFactory"> /// The logger factory. /// </param> /// <param name="unitOfWork"> /// The unit of work. /// </param> public ScheduledTaskController( IStringLocalizer <RestApiResource> localizer, ILoggerFactory loggerFactory, TaskSchedulerService taskSchedulerService, UnitOfWork unitOfWork) : base(localizer) { this.logger = loggerFactory.CreateLogger <ScheduledTaskController>(); this.unitOfWork = unitOfWork; this.taskSchedulerService = taskSchedulerService; }
public Importer(ILogService log, ILegacyRenewalService legacyRenewal, IRenewalService currentRenewal, LegacyTaskSchedulerService legacyTaskScheduler, TaskSchedulerService currentTaskScheduler, PasswordGenerator passwordGenerator) { _legacyRenewal = legacyRenewal; _currentRenewal = currentRenewal; _log = log; _currentTaskScheduler = currentTaskScheduler; _legacyTaskScheduler = legacyTaskScheduler; _passwordGenerator = passwordGenerator; }
public Importer(ILogService log, IInputService input, ILegacyRenewalService legacyRenewal, IRenewalService currentRenewal, PluginService pluginService, LegacyTaskSchedulerService legacyTaskScheduler, TaskSchedulerService currentTaskScheduler) { _legacyRenewal = legacyRenewal; _currentRenewal = currentRenewal; _log = log; _input = input; _currentTaskScheduler = currentTaskScheduler; _legacyTaskScheduler = legacyTaskScheduler; _pluginService = pluginService; }
public Wacs( IContainer container, IAutofacBuilder scopeBuilder, ExceptionHandler exceptionHandler, ILogService logService, ISettingsService settingsService, IUserRoleService userRoleService, IDueDateService dueDateService, TaskSchedulerService taskSchedulerService, SecretServiceManager secretServiceManager) { // Basic services _container = container; _scopeBuilder = scopeBuilder; _exceptionHandler = exceptionHandler; _log = logService; _settings = settingsService; _userRoleService = userRoleService; _taskScheduler = taskSchedulerService; _secretServiceManager = secretServiceManager; _dueDateService = dueDateService; if (!string.IsNullOrWhiteSpace(_settings.UI.TextEncoding)) { try { Console.OutputEncoding = System.Text.Encoding.GetEncoding(_settings.UI.TextEncoding); } catch { _log.Warning("Error setting text encoding to {name}", _settings.UI.TextEncoding); } } _arguments = _container.Resolve <ArgumentsParser>(); _arguments.ShowCommandLine(); _args = _arguments.GetArguments <MainArguments>() !; _input = _container.Resolve <IInputService>(); _renewalStore = _container.Resolve <IRenewalStore>(); var renewalExecutor = container.Resolve <RenewalExecutor>( new TypedParameter(typeof(IContainer), _container)); _renewalCreator = container.Resolve <RenewalCreator>( new TypedParameter(typeof(IContainer), _container), new TypedParameter(typeof(RenewalExecutor), renewalExecutor)); _renewalManager = container.Resolve <RenewalManager>( new TypedParameter(typeof(IContainer), _container), new TypedParameter(typeof(RenewalExecutor), renewalExecutor), new TypedParameter(typeof(RenewalCreator), _renewalCreator)); }
public Wacs( IContainer container, IAutofacBuilder scopeBuilder, ExceptionHandler exceptionHandler, ILogService logService, ISettingsService settingsService, IUserRoleService userRoleService, TaskSchedulerService taskSchedulerService, VersionService versionService) { // Basic services _container = container; _scopeBuilder = scopeBuilder; _exceptionHandler = exceptionHandler; _log = logService; _settings = settingsService; _userRoleService = userRoleService; _taskScheduler = taskSchedulerService; _versionService = versionService; try { Console.OutputEncoding = System.Text.Encoding.GetEncoding(_settings.UI.TextEncoding); } catch { _log.Warning("Error setting text encoding to {name}", _settings.UI.TextEncoding); } _arguments = _container.Resolve <IArgumentsService>(); _arguments.ShowCommandLine(); _args = _arguments.MainArguments; _input = _container.Resolve <IInputService>(); _renewalStore = _container.Resolve <IRenewalStore>(); var renewalExecutor = container.Resolve <RenewalExecutor>( new TypedParameter(typeof(IContainer), _container)); _renewalManager = container.Resolve <RenewalManager>( new TypedParameter(typeof(IContainer), _container), new TypedParameter(typeof(RenewalExecutor), renewalExecutor)); _renewalCreator = container.Resolve <RenewalCreator>( new TypedParameter(typeof(IContainer), _container), new TypedParameter(typeof(RenewalExecutor), renewalExecutor)); }
public AppContext(ILogger <AppContext> logger, IconService iconService, IGlucoseFetchService fetchService, IOptionsMonitor <GlucoseTraySettings> options, TaskSchedulerService taskScheduler) { _logger = logger; _iconService = iconService; _fetchService = fetchService; _options = options; _taskScheduler = taskScheduler; trayIcon = new NotifyIcon() { ContextMenuStrip = new ContextMenuStrip(new Container()), Visible = true }; PopulateContextMenu(); trayIcon.DoubleClick += ShowBalloon; BeginCycle(); }
public Importer( ILogService log, ILegacyRenewalService legacyRenewal, ISettingsService settings, IRenewalStore currentRenewal, IInputService input, LegacyTaskSchedulerService legacyTaskScheduler, TaskSchedulerService currentTaskScheduler, PasswordGenerator passwordGenerator, AcmeClient acmeClient) { _legacyRenewal = legacyRenewal; _currentRenewal = currentRenewal; _log = log; _settings = settings; _input = input; _currentTaskScheduler = currentTaskScheduler; _legacyTaskScheduler = legacyTaskScheduler; _passwordGenerator = passwordGenerator; _acmeClient = acmeClient; }
public void TaskSchedulerServiceTest() { var strings = new List <string>(); var taskScheduler = new TaskSchedulerService(); taskScheduler.QueueTask(() => { Thread.Sleep(10); for (int i = 0; i < 100; i++) { strings.Add("a"); } return(Task.CompletedTask); }); taskScheduler.QueueTask(() => { for (int i = 0; i < 100; i++) { strings.Add("b"); } return(Task.CompletedTask); }); var lastTask = new ManualResetEvent(false); taskScheduler.QueueTask(() => { lastTask.Set(); return(Task.CompletedTask); }); lastTask.WaitOne(); Assert.IsTrue(strings.Take(100).All(x => x == "a"), string.Join(Environment.NewLine, strings)); Assert.IsTrue(strings.Skip(100).All(x => x == "b")); }
public Wacs(ILifetimeScope container) { // Basic services _container = container; _scopeBuilder = container.Resolve <IAutofacBuilder>(); _exceptionHandler = container.Resolve <ExceptionHandler>(); _log = _container.Resolve <ILogService>(); _settings = _container.Resolve <ISettingsService>(); _userRoleService = _container.Resolve <UserRoleService>(); _settings = _container.Resolve <ISettingsService>(); _taskScheduler = _container.Resolve <TaskSchedulerService>(); try { Console.OutputEncoding = System.Text.Encoding.GetEncoding(_settings.UI.TextEncoding); } catch { _log.Warning("Error setting text encoding to {name}", _settings.UI.TextEncoding); } ShowBanner(); _arguments = _container.Resolve <IArgumentsService>(); _arguments.ShowCommandLine(); _args = _arguments.MainArguments; _input = _container.Resolve <IInputService>(); _renewalStore = _container.Resolve <IRenewalStore>(); var renewalExecutor = container.Resolve <RenewalExecutor>( new TypedParameter(typeof(IContainer), _container)); _renewalManager = container.Resolve <RenewalManager>( new TypedParameter(typeof(IContainer), _container), new TypedParameter(typeof(RenewalExecutor), renewalExecutor)); }