Source Virtual File System
Purpose
Polls a Virtual File System (VFS) for files and makes them available to downstream processors. The VFS abstraction allows the same Source to read from local filesystems, SMB shares, NFS mounts, or any backend supported by the configured VFS Connection.
This Asset can be used by:
| Asset type | Link |
|---|---|
| Input Processors | Stream Input Processor |
Prerequisite
You need:
Configuration
Name & Description

Name — Unique name for this asset within the project. Spaces are not allowed.
Description — Optional description of what this source is used for.
Asset Usage — Shows how many times this asset is referenced by other assets, workflows, or deployments. Expand to see the full list.
Required Roles
In case you are deploying to a Cluster with Reactive Engine Nodes that have specific Roles configured, you can restrict use of this Asset to Nodes with matching roles. Leave empty to match all Nodes.
Throttling & Failure Handling

Throttling
These parameters control the maximum number of new stream creations per given time period.
Max. new streams — Maximum number of streams this source is allowed to open or process within the given time period.
Per — Time interval unit for the Max. new streams value.
Configuration values for this parameter depend on the use case scenario. Assuming your data arrives in low frequency cycles, these values are negligible. In scenarios with many objects arriving in short time frames, it is recommended to review and adapt the default values accordingly.
Backoff Failure Handling
These parameters define backoff timing intervals in case of failures. The system will progressively throttle down the processing cycle based on the configured minimum and maximum failure backoff boundaries.
Min. failure backoff — The minimum backoff time before retrying after a failure.
Unit — Time unit for the minimum backoff value.
Max. failure backoff — The maximum backoff time before retrying after a failure.
Unit — Time unit for the maximum backoff value.
Based on these values, the next processing attempt is delayed: starting at the minimum failure backoff interval, the wait time increases step by step up to the maximum failure backoff.
Reset after number of successful streams — Resets the failure backoff throttling after this many successful stream processing attempts.
Reset after time without failure streams — Resets the failure backoff throttling after this amount of time passes without any failures.
Unit — Time unit for the time-based backoff reset.
Whatever comes first — the stream count or the time threshold — resets the failure throttling after the system returns to successful stream processing.
Polling & Processing

This source does not reflect a stream, but an object-based storage source which does not signal the existence of new objects to observers. We therefore need to define how often we want to look up (poll) the source for new objects to process.
You can choose between Fixed rate polling and Cron tab style polling.
Fixed rate
Use Fixed rate if you want to poll at constant and frequent intervals.
Polling interval [sec] — The interval in seconds at which the configured source is queried for new objects.
Cron tab
Use Cron tab if you want to poll at specific scheduled times. The Cron tab expression follows the cron tab style convention. Learn more about crontab syntax at the Quartz Scheduler documentation.
You can also use the built-in Cron expression editor — click the calendar symbol on the right hand side:

Configure your expression using the editor. The Next trigger times display at the top helps you visualize when the next triggers will fire. Press OK to store the values.
Polling timeout
Polling timeout [sec] — The time in seconds to wait before a polling request is considered failed. Set this high enough to account for endpoint responsiveness under normal operation.
Stable time
Stable time [sec] — The number of seconds that file statistics must remain unchanged before the file is considered stable for processing. Configuring this value enables stability checks before processing.
Ordering
When listing objects from the source for processing, you can define the order in which they are processed:
- Alphabetically, ascending
- Alphabetically, descending
- Last modified, ascending
- Last modified, descending
Reprocessing mode
The Reprocessing mode setting controls how layline.io's Access Coordinator handles previously processed sources that are re-ingested.

- Manual access coordinator reset — Any source element processed and stored in layline.io's history requires a manual reset in the Sources Coordinator before reprocessing occurs (default mode).
- Automatic access coordinator reset — Allows automatic reprocessing of already processed and re-ingested sources as soon as the respective input source has been moved into the configured done or error directory.
- When input changed — Behaves like
Manual access coordinator reset, but also checks whether the source has potentially changed — i.e., the name is identical but the content differs. If the content has changed, reprocessing starts without manual intervention.
Wait for processing clearance
When Wait for processing clearance is activated, new input sources remain unprocessed in the input directory until either:
- A manual clearance is given through Operations, or
- A JavaScript processor executes
AccessCoordinator.giveClearance(source, stream, timeout?)
Virtual File System Settings

Connection — Select the Virtual File System Connection to use for reading files. If no connection exists, create one first.
Folders
The source requires the definition of one or more Folders. Each folder defines three directories:
- Input Directory — The directory to read new files from.
- Done Directory — The directory to which read files are moved after reading.
- Error Directory — Files which caused problems during processing are moved here for further analysis.
If the source needs to collect data from more than one folder structure, add multiple folder configurations.
Folders Toolbar
Use "+ ADD A FOLDER" to add a new folder configuration entry. Use the toolbar to reorder, copy, or paste folder entries. Enable "Allow unusable folder setups" if you need to save configurations that would otherwise be considered invalid.
Folder Configuration

Folder setup name — Name of the folder. Spaces are not allowed.
Folder setup description — Optional description of the folder.
Enable / Disable Folder — Each folder can be individually enabled, disabled, or controlled via a string expression. Select Enabled or Disabled, or choose "Set via string expression" for dynamic control.
Input Directory

Input Directory — The directory to read files from. The path must be accessible to the Reactive Engine. You can use ${...} macros to expand variables defined in environment variables.
Filter regular expression — Regular expression to filter which files in the directory are pulled (e.g., \S+\.csv).
File prefix regular expression — Filter applied to the beginning of a file name. E.g. XYZ. will only read files whose name starts with XYZ.
File suffix regular expression — Filter applied to the end of a file name. E.g. .zip will only read files whose name ends with zip.
Include sub-directories — When enabled, sub-directories of the input directory are also scanned.
Enable housekeeping — When enabled, applies housekeeping rules for files within the input directory.
Done Directory

Done Directory — The directory to which files are moved when fully processed.
Done prefix — Prefix to add to the filename after move to the done directory. E.g. done_.
Done suffix — Suffix to add to the filename after move to the done directory. E.g. _done.
When input file exists in done directory — Define handling in case the file already exists in the done directory.
Done File Compression — Compression format for the done file: None, ZIP, or GZIP.
Enable housekeeping — When enabled, applies housekeeping rules for files within the done directory.
Error Directory

Error Directory — The directory to which files are moved in case of a problem during processing.
Error prefix — Prefix to add to the filename after move to the error directory. E.g. error_.
Error suffix — Suffix to add to the filename after move to the error directory. E.g. _error.
When input file exists in error directory — Define handling in case the file already exists in the error directory.
Error File Compression — Compression format for the error file: None, ZIP, or GZIP.
Enable housekeeping — When enabled, applies housekeeping rules for files within the error directory.
Please note, that the creation of the online documentation is Work-In-Progress. It is constantly being updated. should you have questions or suggestions, please don't hesitate to contact us at support@layline.io .