---
id: video/D7GxnNiGQ14
type: video
title: 20260223 - If You Can’t Make It Fast, Make It Feel Fast
summary: Background processing options in Business Central (page background tasks, start session, task scheduler, job queue) and how to use them so users do not wait. Covers capabilities, limits, error handling, a production order and warehouse request case, and load balancing across NST nodes online.
tier: community
language: en
tags:
  - background processing
  - job queue
  - page background task
  - task scheduler
  - user experience
  - performance optimization
  - parallel execution
  - error handling
  - auto-scaling
  - nst nodes
  - load balancing
  - asynchronous processing
system: platform
review:
  state: reviewed
  by: opus
  at: "2026-10-07T23:21:48.530Z"
  flags: []
generated:
  at: "2026-10-07T23:21:48.595Z"
  pipeline: 0.2.0
  prompts:
    extract-video: 1
    summarize-video: 2
  input_hash: 6b00bb90d18563c73ccaf23b51db0748ccff702c612fc2b955a2f201c3e31640
evidence:
  - kind: video
    url: https://www.youtube.com/watch?v=D7GxnNiGQ14&t=180s
    title: 20260223 - If You Can’t Make It Fast, Make It Feel Fast
    date: "2026-02-24T14:26:55.000Z"
    commit: null
    t: 180
    quote: the phrase perception is reality is it's about how do does a person perceives something that is happening
  - kind: video
    url: https://www.youtube.com/watch?v=D7GxnNiGQ14&t=546s
    title: 20260223 - If You Can’t Make It Fast, Make It Feel Fast
    date: "2026-02-24T14:26:55.000Z"
    commit: null
    t: 546
    quote: They just made it feel shorter basically because they the passengers were busy walking
  - kind: video
    url: https://www.youtube.com/watch?v=D7GxnNiGQ14&t=561s
    title: 20260223 - If You Can’t Make It Fast, Make It Feel Fast
    date: "2026-02-24T14:26:55.000Z"
    commit: null
    t: 561
    quote: user experience over performance. And and that's basically the name of the game here
  - kind: video
    url: https://www.youtube.com/watch?v=D7GxnNiGQ14&t=580s
    title: 20260223 - If You Can’t Make It Fast, Make It Feel Fast
    date: "2026-02-24T14:26:55.000Z"
    commit: null
    t: 580
    quote: A lot of people will spend hours and days trying to optimize a process. maybe gain 2 seconds if the process is 2 minutes
  - kind: video
    url: https://www.youtube.com/watch?v=D7GxnNiGQ14&t=685s
    title: 20260223 - If You Can’t Make It Fast, Make It Feel Fast
    date: "2026-02-24T14:26:55.000Z"
    commit: null
    t: 685
    quote: we did production planning on every order. And we did that on release. Uh, and we ended up with, you know, two minute weights,
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
video_id: D7GxnNiGQ14
channel: yt-areopa
source_name: Areopa webinars
url: https://www.youtube.com/watch?v=D7GxnNiGQ14
published_at: "2026-02-24T14:26:55.000Z"
duration_s: 3407
captions: derived
audience:
  - developer
  - functional consultant
  - administrator
chapters:
  - t: 0
    title: Introduction and Housekeeping
  - t: 135
    title: Presenters Henrik and Stefan Introductions
  - t: 339
    title: Session Objectives and Agenda
  - t: 472
    title: Baggage Claim Example - Perception Over Reality
  - t: 561
    title: User Experience vs Performance Philosophy
  - t: 660
    title: Real World Medical Device Manufacturing Case Study
  - t: 894
    title: Production order processing optimization strategy
  - t: 987
    title: Background processing design principles and results
  - t: 1156
    title: Background and parallel processing toolkit overview
  - t: 1369
    title: Page background task capabilities and design
  - t: 1461
    title: Page background task demo and comparison
  - t: 1628
    title: Start Session Capabilities and Demo
  - t: 1800
    title: Task Scheduler Overview and Methods
  - t: 1899
    title: Task Scheduler Demo with Error Handling
  - t: 2075
    title: Task Scheduler Usage in Base App
  - t: 2179
    title: Job Queue Overview and Architecture
  - t: 2315
    title: Job Queue Best Practices and Configuration
  - t: 2512
    title: Practical Job Queue Examples with Error Handling
  - t: 2642
    title: Multi-Level Job Queue Workflows and Session Distribution
  - t: 2821
    title: Load Balancing and Horizontal Scaling
  - t: 2985
    title: Q&A on Session Limits and Job Queue Best Practices
  - t: 3227
    title: Closing Remarks and Next Steps
features:
  - name: Page Background Tasks
    status: unclear
    t: 1369
    verified: false
    status_source: video
  - name: Start Session
    status: unclear
    t: 1228
    verified: false
    status_source: video
  - name: Task Scheduler
    status: unclear
    t: 1272
    verified: false
    status_source: video
  - name: Job Queue
    status: unclear
    t: 1335
    verified: false
    status_source: video
  - name: Job Queue Categories
    status: unclear
    t: 2401
    verified: false
    status_source: video
  - name: Job Queue Record ID and Parameter String
    status: unclear
    t: 2501
    verified: false
    status_source: video
  - name: Job Queue Error Handling
    status: unclear
    t: 2524
    verified: false
    status_source: video
  - name: Task Scheduler Failure Handler
    status: unclear
    t: 1899
    verified: false
    status_source: video
  - name: Multi-Level Job Queue Workflows
    status: unclear
    t: 2642
    verified: false
    status_source: video
  - name: Warehouse Request Architecture
    status: unclear
    t: 842
    verified: false
    status_source: video
  - name: Production order asynchronous planning
    status: unclear
    t: 917
    verified: false
    status_source: video
  - name: Business Central Online Compute Node Distribution
    status: unclear
    t: 2724
    verified: false
    status_source: video
  - name: Automatic NST Scaling
    status: unclear
    t: 2771
    verified: false
    status_source: video
  - name: Session Limit - Start Session
    status: unclear
    t: 3052
    verified: false
    status_source: video
  - name: Auto-Scaling Limited to Task Scheduler and Job Queue
    status: unclear
    t: 3133
    verified: false
    status_source: video
  - name: Page Background Tasks for API Calls
    status: unclear
    t: 3246
    verified: false
    status_source: video
objects_mentioned:
  - other warehouse request
  - other warehouse activity
  - other pick ticket
  - table production order planning request
  - table schedule tasks
  - table job q lock entry table
  - codeunit change global dimension functionality
  - codeunit find customers to process
  - table job Q entry
quotes:
  - t: 180
    text: the phrase perception is reality is it's about how do does a person perceives something that is happening
    check: exact
  - t: 546
    text: They just made it feel shorter basically because they the passengers were busy walking
    check: exact
  - t: 561
    text: user experience over performance. And and that's basically the name of the game here
    check: exact
  - t: 580
    text: A lot of people will spend hours and days trying to optimize a process. maybe gain 2 seconds if the process is 2 minutes
    check: exact
  - t: 685
    text: we did production planning on every order. And we did that on release. Uh, and we ended up with, you know, two minute weights,
    check: exact
---

# 20260223 - If You Can’t Make It Fast, Make It Feel Fast

> Background processing options in Business Central (page background tasks, start session, task scheduler, job queue) and how to use them so users do not wait. Covers capabilities, limits, error handling, a production order and warehouse request case, and load balancing across NST nodes online.

[Watch on YouTube](https://www.youtube.com/watch?v=D7GxnNiGQ14) · Areopa webinars · 2026-02-24 · 56:47 · tier community · reviewed (checked by Opus)

## Overview

The session argues for user experience over raw performance: if a process cannot be made fast, move work out of the UI thread so the user does not wait. It opens with a baggage claim example and a medical device manufacturing case where production planning on every order release caused two-minute waits. Moving that planning into a job queue entry, and using a warehouse request instead of creating picks immediately, improved perceived speed.

The presenters then compare four tools in order of capability: page background tasks, start session, task scheduler and job queue. Demos cover parallel execution, the task scheduler failure handler, job queue categories, record ID and parameter string, multi-level job queue chains, and load balancing across NST nodes. The Q&A covers session limits and use of page background tasks for API calls. Code examples are on Stefan's GitHub.

## Key points

- Page background tasks load field values and page calculations after the page opens. They are read-only, session-specific, cancelled if the record changes or the page closes, not suitable for list pages, and do not survive server restarts.
- Start session runs a codeunit in another session with read and write access. It has no scheduling, no error logging and no error handling, and it is cancelled if the server crashes.
- Task scheduler is built on start session. It adds one-time scheduling, a failure codeunit that receives error text and call stack, and persistence across server restarts. It is backed by a scheduled tasks table and has no logging out of the box.
- Job queue adds recurring scheduling, automatic logging and a UI. Recurring entries can fail silently, so error handling matters. Categories keep heavy processes from blocking other entries.
- Job queue entries can carry a record ID and a parameter string (described as a hack that works), and can trigger other entries, for example invoice creation, then posting, then payment.
- Stated limit in the cloud: 5 background sessions running per user and up to 100 queued per user. The speaker says this is the latest information and recommends checking the documentation.
- Auto-scaling across NSTs applies to task scheduler and job queue only. Page background tasks and start session run on the same NST as the page. Page background tasks for API calls are fine for reads but risky for writes.

## Chapters

- [0:00](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=0s) Introduction and Housekeeping
- [2:15](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=135s) Presenters Henrik and Stefan Introductions
- [5:39](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=339s) Session Objectives and Agenda
- [7:52](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=472s) Baggage Claim Example - Perception Over Reality
- [9:21](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=561s) User Experience vs Performance Philosophy
- [11:00](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=660s) Real World Medical Device Manufacturing Case Study
- [14:54](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=894s) Production order processing optimization strategy
- [16:27](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=987s) Background processing design principles and results
- [19:16](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=1156s) Background and parallel processing toolkit overview
- [22:49](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=1369s) Page background task capabilities and design
- [24:21](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=1461s) Page background task demo and comparison
- [27:08](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=1628s) Start Session Capabilities and Demo
- [30:00](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=1800s) Task Scheduler Overview and Methods
- [31:39](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=1899s) Task Scheduler Demo with Error Handling
- [34:35](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2075s) Task Scheduler Usage in Base App
- [36:19](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2179s) Job Queue Overview and Architecture
- [38:35](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2315s) Job Queue Best Practices and Configuration
- [41:52](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2512s) Practical Job Queue Examples with Error Handling
- [44:02](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2642s) Multi-Level Job Queue Workflows and Session Distribution
- [47:01](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2821s) Load Balancing and Horizontal Scaling
- [49:45](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2985s) Q&A on Session Limits and Job Queue Best Practices
- [53:47](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=3227s) Closing Remarks and Next Steps

## Features

| Feature | Status | At |
|---|---|---|
| Page Background Tasks | status not stated, demoed | [22:49](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=1369s) |
| Start Session | status not stated, demoed | [20:28](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=1228s) |
| Task Scheduler | status not stated, demoed | [21:12](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=1272s) |
| Job Queue | status not stated | [22:15](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=1335s) |
| Job Queue Categories | status not stated, demoed | [40:01](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2401s) |
| Job Queue Record ID and Parameter String | status not stated, demoed | [41:41](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2501s) |
| Job Queue Error Handling | status not stated, demoed | [42:04](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2524s) |
| Task Scheduler Failure Handler | status not stated, demoed | [31:39](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=1899s) |
| Multi-Level Job Queue Workflows | status not stated, demoed | [44:02](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2642s) |
| Warehouse Request Architecture | status not stated, demoed | [14:02](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=842s) |
| Production order asynchronous planning | status not stated | [15:17](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=917s) |
| Business Central Online Compute Node Distribution | status not stated | [45:24](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2724s) |
| Automatic NST Scaling | status not stated | [46:11](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2771s) |
| Session Limit - Start Session | status not stated | [50:52](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=3052s) |
| Auto-Scaling Limited to Task Scheduler and Job Queue | status not stated | [52:13](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=3133s) |
| Page Background Tasks for API Calls | status not stated | [54:06](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=3246s) |

## AL objects mentioned

As heard in the captions. A name that matches one object page by exact type and name links to it; the others stay as named.

- other "warehouse request" at [14:15](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=855s)
- other "warehouse activity" at [14:34](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=874s)
- other "pick ticket" at [14:54](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=894s)
- table "production order planning request" at [15:29](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=929s)
- table "schedule tasks" at [30:24](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=1824s)
- table "job q lock entry table" at [35:31](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2131s)
- codeunit "change global dimension functionality" at [35:13](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2113s)
- codeunit "find customers to process" at [39:39](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2379s)
- table "job Q entry" at [40:01](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=2401s)

Not found in BC28-30: table "production order planning request", table "schedule tasks", table "job q lock entry table", codeunit "change global dimension functionality", codeunit "find customers to process", table "job Q entry".

## Quotes

- [3:00](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=180s) "the phrase perception is reality is it's about how do does a person perceives something that is happening"
- [9:06](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=546s) "They just made it feel shorter basically because they the passengers were busy walking"
- [9:21](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=561s) "user experience over performance. And and that's basically the name of the game here"
- [9:40](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=580s) "A lot of people will spend hours and days trying to optimize a process. maybe gain 2 seconds if the process is 2 minutes"
- [11:25](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=685s) "we did production planning on every order. And we did that on release. Uh, and we ended up with, you know, two minute weights,"

## Disclaimers in the video

- [7:32](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=452s) other: this session is not meant to be a detailed deep dive technical and deep dive onto any of these these different tools
- [50:52](https://www.youtube.com/watch?v=D7GxnNiGQ14&t=3052s) subject-to-change: most recent information is that we have five background sessions actively running per user and we can cue up to ...

Presenters (as heard): Henrik Halverson, Stefan Moran, Andrew, Arthur, Bquake.
