SyteLine TaskMan Background Queue Calculator for Reports and Utilities
When users run a report or utility in SyteLine 9 or 10 on premises, the request is queued as a background task and TaskMan picks it up and runs it. This calculator shows whether that queue keeps up at your peak hour and how long the backlog lasts when it does not.
Your numbers
Count rows in Background Task History submitted in your busiest hour.
Completion time minus start time from Background Task History, averaged over the peak hour.
Concurrency you observe on Active Background Tasks or have configured for your TaskMan setup. This tool does not assume a default.
Your results
Run times and concurrency are your measurements. The wait figure is an approximation; real queues with long-running MRP or report jobs behave worse than the average suggests.
Utilization and backlog vs tasks per peak hour
Sweeps Tasks submitted per peak hour from 20 to 400, holding your other inputs fixed.
Get your background task history reviewed
Export a month of Background Task History and we will identify the jobs that dominate run time and propose a schedule that clears the peak.
Optional. The tool and every export work without this. No spam.
How a report runs in SyteLine
A user opens a report form, sets options and clicks Print or Preview. The request is written to the active background task queue; TaskMan picks it up, runs the task and the result is recorded in history. Active Background Tasks shows what is queued and running, and Background Task History shows each task's submission, start and completion after it runs, even if it fails. A task that never reached the queue has no history record, so a missing record points at submission, not at the report. Background Task Definitions hold the task names and executables that can be submitted or scheduled.
- Active Background Tasks: queued and running tasks
- Background Task History: start, completion and status per task (BGTaskHistory table)
- Background Task Definitions: which tasks exist and how they run
The queue math
Capacity per hour = slots x 60 / average minutes per task. Utilization = arrivals per hour / capacity x 100. If utilization is over 100%, the backlog at the end of the peak = (arrivals - capacity) x peak hours. After the peak, the queue drains at capacity minus off-peak arrivals, so clear time = backlog / (capacity - off-peak arrivals) x 60 minutes. Under 100%, the approximate wait uses the rule wait = run time x u / (1 - u) / slots, where u is utilization as a fraction. It is a planning approximation, not an exact multi-server model, but it shows the important shape: wait rises sharply as utilization approaches 100%, so 80% is already uncomfortable.
Worked example
With 4 tasks processing at once and 2.5 minutes average run time, capacity is 4 x 60 / 2.5 = 96 tasks per hour. At 120 submissions in the peak hour, utilization is 125%. Over a 2-hour peak the backlog grows by 24 per hour to 48 tasks. Off peak, 30 tasks per hour arrive, leaving 66 per hour of spare capacity, so the backlog clears in about 44 minutes. Users see this as reports that take 20 minutes to appear mid-morning. Cutting average run time to 1.8 minutes, by moving two heavy reports off peak, raises capacity to about 133 per hour and removes the backlog entirely.
Fixing a slow queue
Read real durations from Background Task History, sorted by total run time, not by count: a few long jobs usually dominate. Move MRP, APS, cost rollups and large period reports to scheduled runs outside the peak using Background Task Definitions and scheduling. Check Active Background Tasks for items stuck in a running state that hold a slot, and find out why before restarting the TaskMan service. Look at the SQL behind the slowest reports: one missing index can turn a 30-second report into a 10-minute one. Only then consider adding concurrency, because more parallel tasks also means more load on the same SQL Server.
- Sort history by run minutes, not by number of runs
- Schedule heavy jobs off peak
- Clear stuck tasks before adding capacity
- Tune the slowest report queries
Frequently Asked Questions
How do I run a report in SyteLine?
Open the report form from the menu or search, set the range and option fields, then choose Preview or Print. The request goes to the background queue and TaskMan runs it. When it finishes, the output opens in the report viewer or goes to the printer or file you chose. You can follow progress on Active Background Tasks.
Why does my SyteLine report take so long to appear?
Either the report itself is slow or it waited in the queue. Compare submission time with start time in Background Task History: a large gap means queueing, which this calculator models. A long gap between start and completion means the report query or data volume is the problem.
Where can I see failed SyteLine background tasks?
Background Task History shows every task after it runs, including failures, with status and messages. If a task you submitted has no history record at all, it most likely never reached the active queue, which points to a submission or TaskMan service problem rather than a report error.
How many tasks can TaskMan run at once?
That depends on your TaskMan and server configuration, so this tool treats it as an input rather than assuming a number. Watch Active Background Tasks during a busy period and count how many tasks are running at the same time; use that observed value for the slots input.
If your users want to ask SyteLine for an answer instead of queueing a report, we can add a private AI layer on your own servers that answers from live data with read-only access.
Related Tools
SyteLine Utility and Web Server Sizing Calculator
Turn named users, concurrency and your own per-session assumptions into a server count and RAM plan for the SyteLine 10 application tier.
Developer ToolsSyteLine SQL Blocking and Long Running Query Script Generator
Builds read-only SQL Server diagnostic scripts for blocking, head blockers, open transactions and slow requests on a SyteLine database.
Developer ToolsSyteLine Large Table Scan Cost Calculator
See why a non-sargable filter on matltran_mst, jobtran_mst or ledger_mst takes seconds while an index seek takes milliseconds.
Infor SyteLineSyteLine ION BOD Message Volume Calculator
Estimate how many outbound BODs SyteLine sends to ION per day, the peak rate per minute and the outbox storage if BODs are kept.
More Infor SyteLine tools
See all- SyteLine Form Personalization Checklist
- SyteLine User Access Request Form Template
- SyteLine Custom Report Request Template
- SyteLine Data Conversion Mapping Worksheet
- SyteLine UAT Test Script Worksheet
- SyteLine Cutover Plan Worksheet
- SyteLine Change Request Form Template
- SyteLine Cycle Count Variance Worksheet
- SyteLine Database Growth Forecast Calculator
Keep exploring
Free tools
- SyteLine TaskMan Background Task Troubleshooting ChecklistStep-by-step checks for background reports and utilities that sit in the queue, fail, or produce no output in SyteLine 9 and CSI 10 on-prem.
- SyteLine Background Task History Query GeneratorWrites read-only SQL against BGTaskHistory and ActiveBGTasks to find failed reports and tasks, slow tasks, stuck queue entries and submissions that never got a history record.
Guides
- SyteLine Background Task Errors: Complete Troubleshooting GuideTroubleshoot SyteLine background task errors including queue failures, task scheduling issues, and ION BOD processing errors with proven fix steps.
- How to Set Up the SyteLine Utility ServerConfigure the Infor SyteLine utility server for background job processing including MRP, replication, report generation, and scheduled task execution.
- Fixing Slow SyteLine ReportsFix slow SyteLine reports by separating queue time from execution time, reading SSRS execution logs, tuning the dataset query, and scaling task processing.