public MergePagesService(string inputFolderPath, IDocumentFactory documentFactory) { MergePagesQueueManager.PrepareQueues(); logger = HostLogger.Get <MergePagesService>(); this.documentFactory = documentFactory; directoryService = new DirectoryService(); directoryService.SetInputDirectory(inputFolderPath); newFileEvent = new AutoResetEvent(false); stopWorkEvent = new ManualResetEvent(false); directoryWatcher = new FileSystemWatcher { Path = inputFolderPath, NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastWrite }; directoryWatcher.Created += (sender, fileSystemEventArgs) => newFileEvent.Set(); tokenSource = new CancellationTokenSource(); mergeTask = new Task(() => WorkProcedure(tokenSource.Token)); monitoreTask = new Task(() => messageService.MonitoreClient(tokenSource.Token, stopWorkEvent)); sendQueueSettingsTask = new Task(() => messageService.SendSettings(tokenSource.Token)); messageService = new MessageService(); }
public MergePagesService(string inputFolderPath, string outputFolderPath, IDocumentFactory documentFactory) { logger = HostLogger.Get <MergePagesService>(); this.documentFactory = documentFactory; directoryService = new DirectoryService(inputFolderPath, outputFolderPath); newFileEvent = new AutoResetEvent(true); stopWorkEvent = new ManualResetEvent(false); directoryWatcher = new FileSystemWatcher { Path = inputFolderPath, NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastWrite }; directoryWatcher.Created += (sender, fileSystemEventArgs) => newFileEvent.Set(); mergeTask = new Task(WorkProcedure); }