Skip to content

A background service to efficiently process large quantities of files newly added to a directory. #featured

Notifications You must be signed in to change notification settings

nickmartin1ee7/FileWatcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FileWatcher

Description

This application will monitor a directory and dispatch worker threads to read, process, and move files as quickly as possible.

Process Flow

  1. FileWatcher uses events to enqueue files that were created to a queue.
  2. MonitorService rallies workers (threads) to process files in the queue as they are added.
  3. MonitorService ensures required folders are created and read/writeable.
  4. MonitorService also scans the Input directory on a configurable interval and adds those file that are "truant"/late to the queue.
  5. Worker(s) dispatch the FileHandler to handle the dequeued file.
  6. FileHandler will instruct the IProcessor to process the file, then if successful move it to the Output directory.
  7. Worker(s) will requeue IO-related failures when trying to process a file.
  8. MonitorService will renqueue truant files that had failed to be processed.

About

A background service to efficiently process large quantities of files newly added to a directory. #featured

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages