codeunitAL Developmentofficial - Microsoftderived - from the source, no model text

Codeunit 448 "Job Queue Dispatcher"

Base Application · System.Threading

Across versions

  1. BC23present
  2. BC245 procedures added, 1 procedures removed
  3. BC251 procedures added, 1 events added
  4. BC26unchanged
  5. BC271 procedures changed, 1 events added
  6. BC28-30unchanged

Neighbourhood 9 connected objects and pages

Table 472 "Job Queue Entry" (relates to)Job Queue EntryCodeunit 9803 "Job Queue Telemetry" (event subscribers, 3 links)Job Queue TelemetryCodeunit 9803 "Job Queue Telemetry" (calls, 5 links)Job Queue TelemetryCodeunit 53 "Translation Helper" (calls, 4 links)Translation HelperTable 472 "Job Queue Entry" (calls, 4 links)Job Queue EntryCodeunit 110 "Consolidate Business Units" (calls)Consolidate Business UnitsCodeunit 449 "Job Queue Start Codeunit" (calls)Job Queue Start CodeunitCodeunit 453 "Job Queue - Enqueue" (calls)Job Queue - EnqueueCodeunit 456 "Job Queue Management" (calls)Job Queue Management

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

Base Application · System.Threading · BC23-30 · source at ea08af5e · facts from BC29

Properties

Property Value
TableNo Job Queue Entry
Permissions TableData “Job Queue Entry” = rimd, TableData “Job Queue Category” = rm

Events published

  • OnAfterCalcRunTimeForRecurringJob(var JobQueueEntry: Record "Job Queue Entry"; Found: Boolean; StartingDateTime: DateTime; var NewRunDateTime: DateTime) (integration)
  • OnBeforeCalcNextRunTimeForRecurringJob(JobQueueEntry: Record "Job Queue Entry"; StartingDateTime: DateTime; var NewRunDateTime: DateTime; var IsHandled: Boolean) (integration)
  • OnAfterSuccessHandleRequest(var JobQueueEntry: Record "Job Queue Entry"; JobQueueExecutionTime: Integer; PreviousTaskId: Guid) (integration)
  • OnAfterSuccessExecuteJob(var JobQueueEntry: Record "Job Queue Entry") (integration)
  • OnBeforeHandleRequest(var JobQueueEntry: Record "Job Queue Entry") (integration)
  • OnBeforeExecuteJob(var JobQueueEntry: Record "Job Queue Entry") (integration)
  • OnBeforeRun(var JobQueueEntry: Record "Job Queue Entry"; var Skip: Boolean) (integration)
  • OnBeforeWaitForOthersWithSameCategory(var CurrJobQueueEntry: Record "Job Queue Entry"; var JobQueueEntry: Record "Job Queue Entry"; var Result: Boolean; var IsHandled: Boolean) (integration)
  • OnCalcNextRunTimeForRecurringJobOnAfterCalcNewRunDateTime(var JobQueueEntry: Record "Job Queue Entry"; var NewRunDateTime: DateTime; var IsHandled: Boolean; StartingDateTime: DateTime) + BC25 − BC25 (integration)
  • OnCalcInitialRunTimeOnAfterCalcEarliestPossibleRunTime(var JobQueueEntry: Record "Job Queue Entry"; var EarliestPossibleRunTime: DateTime; var IsHandled: Boolean) (integration)
  • OnRescheduleOnBeforeJobQueueEnqueue(var JobQueueEntry: Record "Job Queue Entry") (integration)
  • OnRescheduleOnBeforeJobQueueEnqueueAsWaiting(var JobQueueEntry: Record "Job Queue Entry") + BC27 (integration)
  • OnCalcRunTimeForRecurringJobOnAfterInitDays(var JobQueueEntry: Record "Job Queue Entry"; var StartingDateTime: DateTime) (integration)
  • OnCalcRunTimeForRecurringJob(var JobQueueEntry: Record "Job Queue Entry"; var RunOnDate: array[7] of Boolean; var Found: Boolean; var StartingWeekDay: Integer; var NoOfDays: Integer) (integration)

Procedures

  • IsWithinStartEndTime(var CurrJobQueueEntry: Record "Job Queue Entry"): Boolean + BC24 Δ BC27: Checks if the current time is within the start and end time of the job queue entry.
  • WaitForOthersWithSameCategory(var CurrJobQueueEntry: Record "Job Queue Entry"): Boolean
  • MockTaskScheduler()
  • ActivateNextJobInCategory(var JobQueueEntry: Record "Job Queue Entry") + BC24 (internal)
  • CalcNextRunTimeForRecurringJob(var JobQueueEntry: Record "Job Queue Entry"; StartingDateTime: DateTime): DateTime
  • CalcNextRunTimeHoldDuetoInactivityJob(var JobQueueEntry: Record "Job Queue Entry"; StartingDateTime: DateTime): DateTime
  • CalcNextReadyStateMoment(JobQueueEntry: Record "Job Queue Entry"): DateTime
  • CalcInitialRunTime(var JobQueueEntry: Record "Job Queue Entry"; StartingDateTime: DateTime): DateTime
  • AddMinutesToDateTime(SourceDateTime: DateTime; NoOfMinutes: Integer): DateTime

Plus 10 local procedures.

Triggers

OnRun

Relations

Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.

Called by

Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Job Queue Dispatcher"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources