Search K
Appearance
Appearance
The automation engine uses three separate job queues, each with a distinct purpose. Understanding the difference between them is important for configuring parallelism, diagnosing bottlenecks, and setting up Autodesk Vault integration.
The primary job queue is powered by Hangfire and is the main execution system for all workflows. When a workflow is triggered it is placed on this queue and picked up by a background worker on the automation server.
Parallelism is controlled per automation server via appsettings.json. Each server can be configured independently, allowing you to scale horizontally by running multiple automation servers with different worker counts.
"HangfireSettings": {
"DefaultQueueWorkerCount": 5
}With a worker count of 5, up to five workflows can run simultaneously on that server. Increase this value to allow more concurrent work, keeping in mind that higher values require more CPU and memory. Set it according to the capacity of the machine hosting the automation engine.
| URL | Purpose |
|---|---|
<MinuteView Server>/AutomationsQueue | Full Hangfire dashboard — all jobs, states, and retry counts. |
| State | Description |
|---|---|
| Queued | Waiting to be picked up by a worker. |
| Processing | Currently executing. |
| Succeeded | Completed successfully. |
| Failed | Encountered an error — check the workflow log for details. |
| Deleted | Manually removed or expired. |
Most workflows run through the primary queue. However some modules require the workflow to be set to run imediatly, such as Configurator workflows, which always execute immediately because they must return a result synchronously to update on-screen controls in real time — they cannot wait in a queue.
The serialisation queue protects tasks that must only run one at a time, even when the primary queue is configured for high parallelism.
If a task is marked as serialised and five workflows all reach that task simultaneously, all five enter the serialisation queue and execute one at a time in order. Once a serialised task completes, its result is passed back to the originating workflow and that workflow continues normally.
Any workflow containing a serialised task will pause at that task until the queue clears. This is intentional — it prevents race conditions on shared resources such as a file, a database record, or an external system that cannot handle concurrent writes.
When designing workflows, be aware that serialised tasks are a potential bottleneck. If throughput matters, minimise the number of workflows that share the same serialised task at the same time.
The Vault job queue is a native Autodesk Vault feature. The automation engine does not own or manage this queue — it polls it at a configurable interval and processes jobs whose names match a workflow in the engine.
Reserving a job through the SDK requires an Autodesk account that holds a valid Vault licence. Without a licenced account the reservation call will be rejected by Vault.
Set the polling interval and concurrent job limit in appsettings.json:
"VaultJobProcessing": {
"MaxConcurrentJobs": 2,
"PollingIntervalSeconds": 5
}Three service accounts must be configured in the Console before the Vault job queue will function:
| Account | Purpose |
|---|---|
| Vault SQL Account | Connects directly to the Vault master database to poll for pending jobs. |
| Autodesk Account | An Autodesk identity with an associated Vault licence. Required to open the Vault SDK connection and reserve jobs. |
| Autodesk Vault Account | The Vault user account used to perform Vault operations within the workflow. |
All three accounts are configured under Console → Service Accounts. Once they are in place, set the polling interval and concurrency in appsettings.json and the automation engine will begin picking up Vault jobs automatically.