Folder Scanning
Folder scanning processes files automatically: drop them into a job folder that also holds a pipeline JSON file, and the server runs that pipeline against them on its next sweep. No sign-in required.
The JSON is produced by the Automate tool, so read the Pipeline Guide first.
Also available in the Processor
A folder source in a pipeline with a Folder watch trigger provides a saved workflow. See Create your first pipeline for setup and source cleanup behavior.
Input files are consumed
Successful runs delete input files from the job folder. Keep a separate copy of originals you need to retain.
Setting Up Watched Folders#
- Default watched root:
./pipeline/watchedFolders/; in the Docker images,/pipeline/watchedFolders. - The same paths are in the Custom Paths section of Settings → Server → System, under Pipeline Directories as Watched Folders Directories, one path per line or comma-separated. A saved value is marked pending until the server restarts.
- Only subdirectories are treated as job folders; files dropped directly into the watched-folders root are never processed.
Configuring Processing with JSON Files#
- Each job folder needs exactly one
.jsonfile. A directory with no.jsonfile is skipped. - Build the workflow in the Automate tool and click Export for Folder Scanning to download it. The neighbouring Export button emits a different format, meant for re-importing into Automate.
Automatic Scanning and Processing#
- The system checks every watched root once a minute, and processes the files in each subdirectory that holds a valid JSON configuration file.
- Files that are still being written are skipped and retried on a later scan.
- A file whose extension is not an accepted input for the operation is skipped and left in the job folder.
Results and Output#
outputDiraccepts the placeholders{outputFolder}and{folderName};outputFileNameaccepts{filename},{pipelineName},{date}(yyyyMMdd) and{time}(HHmmss).- The Automate export defaults to
outputDir: {outputFolder}andoutputFileName: {filename}, so results land flat in the finished folder and a later run silently overwrites an earlier file of the same name. Add{date}/{time}, or{folderName}inoutputDir, to keep runs apart.
Error Handling#
- If the pipeline reports errors, the files are moved into an
errorsubdirectory of the job folder. Fix the cause, then move the files back to the job folder to retry. - If processing fails unexpectedly, files are left in the job folder's
processingsubdirectory. Move them back to the job folder to retry.
Configuration Reference#
| Key | Env | Default | Purpose |
|---|---|---|---|
system.customPaths.pipeline.pipelineDir |
SYSTEM_CUSTOMPATHS_PIPELINE_PIPELINEDIR |
"" |
Base directory the watched and finished folders sit under. Defaults to ./pipeline. |
system.customPaths.pipeline.watchedFoldersDirs |
SYSTEM_CUSTOMPATHS_PIPELINE_WATCHEDFOLDERSDIRS |
[] |
List of watched-folder roots. Every entry is scanned. |
system.customPaths.pipeline.watchedFoldersDir |
SYSTEM_CUSTOMPATHS_PIPELINE_WATCHEDFOLDERSDIR |
"" |
Single watched-folder root. Defaults to <pipelineDir>/watchedFolders. |
system.customPaths.pipeline.finishedFoldersDir |
SYSTEM_CUSTOMPATHS_PIPELINE_FINISHEDFOLDERSDIR |
"" |
Where results land. Defaults to <pipelineDir>/finishedFolders. |
autoPipeline.fileReadiness.enabled |
AUTOPIPELINE_FILEREADINESS_ENABLED |
true |
Whether to wait for a file to finish being written before processing it. |
autoPipeline.fileReadiness.settleTimeMillis |
AUTOPIPELINE_FILEREADINESS_SETTLETIMEMILLIS |
5000 |
How long a file must be unmodified before it counts as complete. |
autoPipeline.fileReadiness.sizeCheckDelayMillis |
AUTOPIPELINE_FILEREADINESS_SIZECHECKDELAYMILLIS |
500 |
Delay used when checking whether a file is still being written. |
autoPipeline.fileReadiness.allowedExtensions |
AUTOPIPELINE_FILEREADINESS_ALLOWEDEXTENSIONS |
[] |
Optional extension allow-list, without the leading dot. Empty accepts all. |
Check the startup log
A watched folder that equals the finished folder, or sits inside it, logs a CRITICAL processing-loop error. Nested watched roots and a finished folder nested inside a watched folder log warnings.
Related Documentation#
- Pipeline Automation (Automate) - build a workflow and export its configuration
- Sources - the Processor's saved folder source
- Pipelines - configure a Folder watch trigger for a saved source