|
If you are using PostgreSQL as your persistence provider, the offline queue is persisted to support failover for ThingWorx high availability.
|
|
A forward slash (/) is the recommended path delimiter for file repositories.
|
File Transfer Settings
|
Data Type
|
Default
|
Notes
|
||
---|---|---|---|---|---|
Min Threads Allocated to File Transfer Pool
|
NUMBER
|
10
|
Defines the core pool size for ThreadPoolExecutor. This thread pool is used to coordinate the platform controlled file transfer logic.
|
||
Max Threads Allocated to File Transfer Pool
|
NUMBER
|
10
|
Defines the maximum thread pool size for ThreadPoolExecutor.
Asynchronous file transfers can be lost if ThingWorx goes down. For example, suppose this setting has the default value of 10 and 50 long-running file transfers are submitted. If ThingWorx goes down, 40 files will be lost.
|
||
Max Queue Entries Before Adding New Working Thread
|
NUMBER
|
100
|
Defines the upper limit for the number of entries in the queue used in ThreadPoolExecutor.
This restricts the number of active transfers allowed at a time.
|
||
Idle Thread Timeout (sec)
|
NUMBER
|
600000
|
Defines how long to keep idle threads alive in the ThreadPoolExecutor. The pool will terminate threads and move back to the core pools size after the specified time.
|
||
FileTransfer Idle Timeout (sec)
|
NUMBER
|
30
|
Between every step during the file transfer process (checksum, ReadFromBinaryFile, WriteToBinaryFile, validation) idle timeout is checked. If the step is taking longer than the defined timeout time, the transfer is cancelled.
|
||
Max FileTransfer block size (bytes)
|
NUMBER
|
128000
|
Defines the number of bytes requested for ReadFromBinaryFile and WriteToBinaryFile operations. This represents the chunk size for each write.
This variable imposes a maximum block size during a file transfer at the system level.
The EMS configuration still takes precedence. However, if the EMS is configured with buffer_size larger than what is specified in this variable, then this variable will cap this block size. If larger block sizes (128KB) are configured through the EMS, this value must be increased. The maximum compile level is 1MB.
|
||
Max FileTransfer size (bytes)
|
NUMBER
|
100000000
|
Defines the maximum number of bytes that a Copy operation supports.
If the source file is larger than this value, the transfer fails and an error message is displayed.
|
||
Max File Transfers Allowed in Offline Queue
|
NUMBER
|
50000
|
Defines the maximum number of offline queued file transfers allowed in the system.
|
||
Max File Transfers Allowed Per Thing in Offline Queue
|
NUMBER
|
10
|
Defines the maximum number of offline queued file transfers allowed per thing.
|
||
Time to Live (sec) of a Queueable File Transfer
|
NUMBER
|
86400
|
Defines the maximum time that a queued file transfer can stay in the offline queue.
A file transfer is be removed from the offline queue after this specified amount of time.
|
||
Total Max Edge-Controlled File Transfers Allowed
|
NUMBER
|
500
|
Defines the maximum active edge-controlled file transfers per thing that is allowed in the system.
The total concurrent edge-controlled transfers across the platform. The range is 1–1000 transfers. This is separate from the maximum allowed always-on transfers, which are controlled by the Max Queue Entries Before Adding New Working Thread setting.
|
||
Total Max Edge-Controlled File Transfers Allowed Per Thing
|
NUMBER
|
2
|
Defines the maximum number of concurrent transfers allowed to or from an edge-controlled Thing. The range is 1–100 transfers. For example, a value of 2 means that one edge-controlled Thing can have only two active transfers (upload or download) at a given time. Subsequent requests to dequeue a file transfer egress are rejected until there is sufficient capacity.
|
||
Idle Timeout for Edge-Controlled File Transfers (sec)
|
NUMBER
|
600
|
Defines the maximum time an active job can remain active without being acted on (for example, by a data transfer or a job state update). The range is 1–3600 seconds. This is similar to the idle timeout for always-on transfer jobs, but usually it takes longer to account for the ping cycle of polling devices.
|