Docs
  • Solver
  • Models
    • Field Service Routing
    • Employee Shift Scheduling
    • Pick-up and Delivery Routing
  • Platform
Try models
  • Timefold Platform
  • How-tos
  • Solve queue

Timefold Platform

    • Introduction
    • Planning AI concepts
    • Getting started with the Timefold Platform
    • Platform concepts
    • Models
      • Model catalog and documentation
      • Model maturity and versioning
      • Trialing Timefold models
    • How-tos
      • Dataset lifecycle
      • Interpreting dataset results
      • Configuration parameters and profiles
      • Reviewing the audit log
      • Searching and categorizing datasets for auditability
      • Member management and roles
      • Secrets management
      • Solve queue
      • Using the maps service
      • Comparing datasets (preview)
      • Real-time planning with /from-patch (preview)
    • Job-oriented guides
      • Balancing different optimization goals
      • Validating an optimized plan with Explainable AI
      • Uncovering inefficiencies in operational planning
      • Responding to disruptions with real-time planning
      • Designing better routing plans with (just enough) traffic awareness
    • API integration
      • API usage
      • Webhooks
      • Server sent events (SSE)
      • Polling
    • Changelog
    • Feature requests
    • Self-Hosted
      • Self-Hosted vs. Timefold Cloud Platform
      • Installation instructions
      • Upgrade instructions
      • Troubleshooting
    • Trust
      • Risk profile
      • Product security
      • Data security
      • Legal and privacy
      • AI legislation compliance
      • Trust center

Solve queue

When solving optimization workloads at scale, it is common to temporarily exceed the number of concurrent threads allowed by a tenant’s plan. The Solve queue ensures that such requests are not rejected, but instead queued and executed automatically as thread capacity becomes available.

What is the Solve queue?

The queue is a per-tenant queue that temporarily holds solve operations when all solver threads allowed by the tenant’s plan are already in use.

Instead of failing a request when the concurrency limit is reached:

  • The dataset is accepted.

  • The dataset is placed in the queue.

  • The dataset is started automatically as soon as enough solver threads become available.

The queue is designed to simplify client integrations by removing the need for custom retry or backoff logic.

When is a dataset queued?

A dataset is queued when both of the following are true:

  • The operation requires solver threads.

  • The tenant has already reached the maximum number of concurrent solver threads defined by their plan.

If solver threads are available at submission time, the dataset starts solving immediately and does not enter the queue.

Queue behavior

Per-tenant isolation

Each tenant has its own queue, and queue processing always respects the tenant’s plan limits. Queued datasets from one tenant never affect the execution of datasets from another tenant.

Dataset statuses

Datasets that are in the queue will have the status SOLVING_SCHEDULED. See Dataset lifecycle.

Datasets in this status are visible through both the API and the UI. On a Model’s dataset overview page you can easily filter on this status, see Searching and categorizing datasets for auditability.

Queue ordering and priority

By default, the Solve Queue processes datasets using:

  • Priority (a higher number means higher priority).

  • Queued time (earlier submissions first).

Default priority

  • Datasets receive a default priority of 5 when they are queued.

  • Priority values are numeric and can be between 0 (lowest priority) - 10 (highest priority).

Changing priority

  • When submitting a new dataset there is a priority parameter that allows you to set a custom priority immediately.

`priority` parameter when submitting datasets
  • You can update the priority of a queued dataset once it’s in the queue to influence its position in the queue.

  • Only queued datasets can have their priority updated.

Queue limits

To prevent unbounded queue growth, tenant plans define a maximum threads queued.

If the limit of the queue is reached, new solve requests are rejected until space becomes available.

Using the Solve Queue via the UI

The Timefold Platform UI provides visibility into queued datasets.

Go to Manage tenant → Solve queue to see the current status of the queue.

You can:

  • View all queued datasets for a tenant.

  • See their relative position in the queue.

  • Update the priority of datasets in the queue to influence what will be solved next.

Platform UI to manage the solve queue, showing 9 queued datasets with different priorities
Figure 1. Platform UI to manage the solve queue, showing 9 queued datasets with different priorities

Permissions and access control

Access to the Solve Queue depends on the role of the user within a tenant. The platform distinguishes between tenant admins and tenant users.

  • Tenant admins have full control over the Solve Queue for their tenant. They can view all queued datasets, see their position in the queue, and change the priority.

  • Tenant users have read-only access to the Solve Queue. They can view queued datasets, and see their position in the queue.

This ensures that all users can understand queue state and progress, while only tenant admins can modify queue behavior.

  • © 2026 Timefold BV
  • Timefold.ai
  • Documentation
  • Changelog
  • Send feedback
  • Privacy
  • Legal
    • Light mode
    • Dark mode
    • System default