Nodes
Processing Nodes, or simply Nodes, are instances that execute flows and process library files.
FileFlows Server (the main application) has an in-built processing node and this is all that is needed for FileFlows to work. However, if you want to split the workload onto more machines or you don't want the server doing the processing, you can install additional nodes on other machines.
For example, install FileFlows as an unRAID application, and have a FileFlows node installed on a much more powerful Windows machine. You could have the unRAID process 1 file at a time and the Windows machine process 2 additional files. Or you could scale out and have many nodes processing files simultaneously.
Node Options
A Node contains the following configuration options:
General
- Name
- The display name of the Node (external nodes only)
- Address
- The IP or hostname address of the node. You should not change this unless you have changed the address of the node. For example, if you have changed the computer name of the processing node. (external nodes only)
- Enabled
- If the node is enabled or not and can process files
- Priority
- The higher the number the higher the priority. Nodes with a higher priority will be favored and given files to process first, unless those nodes are out of schedule, disabled, or at their maximum runners.
- Icon
- A custom icon for the node (external nodes only)
- Enable Schedule
- Toggle to enable/disable a processing schedule for this node. When enabled, the node will only process files during the configured schedule times.
Processing
- All Libraries
- Which libraries this node will process. Select "All" to allow this node to process any library, or choose specific options to restrict processing.
- Libraries
- Select which libraries this node can process (only visible when "All Libraries" is not set to "All")
- Max File Size
- The maximum file size this Processing Node can process in MB. If set to 0, there will be no limit.
- Video Codecs
- Select the specific video codecs this node is allowed to process.
- Resolutions
- Select the video resolutions this node is allowed to process.
- Processing Order
- Specifies the order in which files are processed by this Node. This setting overrides the library's default processing order. Set to 'Default' to use the library's processing order.
Runners
- Runners
- The number of runner instances available to execute flows. This determines the number of simultaneous files this node can process.
- SD Cost
- The cost for SD video processing. Higher values mean each SD file costs more runners.
- 720p Cost
- The cost for 720p video processing. Higher values mean each 720p file costs more runners.
- 1080p Cost
- The cost for 1080p video processing. Higher values mean each 1080p file costs more runners.
- 4K Cost
- The cost for 4K video processing. Higher values mean each 4K file costs more runners.
- Undetermined Cost
- The cost for video files where the resolution could not be determined. Higher values mean each undetermined file costs more runners.
Mappings
Mappings allow you to map variables and directories from the Server to the Node. You need to map any path used in the Flow or Libraries to locally available paths on the node.
You can map a path from the server to a location on the node. For example, you may map Server:/usr/local/bin/ffmpeg to Node:C:\Utils\ffmpeg\ffmpeg.exe. You should add mappings for all libraries and tools that will be needed to run on the remote system.
Variables
Variables let you configure advanced variables to set on a processing node. These can be used to pass configuration values to scripts and flow elements.
Advanced
- Temp Directory
- The directory on the node to store temporary files created by the Flow Runner. This directory will be used by flows to create temporary files as the flow is processed, and will be regularly cleaned up so keep nothing important here.
- Pre-Execute Script
- A script that will run before any file is processed. The result of this script must be 1 for it to pass; anything else and the node will not process a file. See Pre-Execute Script for more information.
- Change Owner
- When checked, the node will change the owner of any newly created files to the PGID and PUID defined in the environmental values. If these environmental variables are not set, the owner will be changed to 'users:nobody'.
- Set Permissions
- When checked, file permissions will be set on any newly created files.
- File Permissions
- The permissions to set on any newly created files. Defaults to 644.
- Folder Permissions
- The permissions to set on any newly created folders. Defaults to 775.