When the Service is started (or paused and resumed) it will read the Config File and start looking in the base folder directory.

If a file is found The software will check if it is not on the Exclude list. If the include list is set (not blank), the program will check if it is on the include list. The file is probed to see it is not locked, if the file is locked, the service will search the next file.

If a directory is found, and the service has to look in subfolders, it will first enter the subfolder.

A file that is found and has proven to be released (the service can make an exclusive lock) the searching will stop, and the File will be renamed (it will get ~~ in front of the name)

A found file will then be used to Change the command line (e.g. fill out the parameters) and then start the program with priority as defined in the Config File.

When the program is finished, the temporary file will be deleted (if the Config File is set up that way)

Errors and progress will be logged in the logfile as described in the Config File settings. Errors will also be logged in the event log.

Read the Arguments section for Examples.

Design consequences

  • Only one program will be started in one interval
  • Exclude has precedence over include
  • Files starting with ~~ will never be run
  • Default set-up installs service as Local System, this user is not allowed across the network
  • Files will be started from the most deep directory first
  • Files will start in the order they exist in the directory. So older files will not always be started before newer ones
  • Large directory trees and/or a lot of files can result in longer interval times (and more processor load from the service)
  • Setting LogFile.SizeLimit to 0 will make the logfile linear (opposed to circular) but this will cost a lot of memory in the long run. (errors are also logged in the event log)
  • When using multiple directories, the service starts searching in the first directory with each interval. When the first directory gets more files than intervals, the other directories will experience starvation.
  • Because the service is normally run without context (Local System) there will be no environment or network disks, you need to provide an adequate one for the program you call. (See also Tips And Tricks)

Gesponsorde koppelingen