Background workers: GlideExecutionTracker vs GlideScriptedProgressWorker

davidmcdonald
Kilo Guru

I've been doing some research into DIY Background Workers. Most of my efforts have been in pulling apart & understanding GlideScriptedProgressWorker's; the ones found in the navigator under "Progress Workers" (sys_progress_worker).

However, in my searching, I've found references to something called GlideExecutionTracker's and found the sys_execution_tracker table. The basic operation of them appears to be very similar, but the GlideExecutionTracker's appear to have a few more bells and whistles, such as

  • a percentage progress
  • references back to another record / source for context (e.g. an incident or CI)
  • tracks start & end time
  • appears to support a hierarchy of workers

The progress workers table is natively visible to the user through the navigator, however the execution trackers table needs to be manually navigated to, which gives the impression that the execution trackers table shouldn't be viewed by the average user.

Also, most of the background stuff I've examined uses Progress Worker, and not Execution Tracker. Is the Execution Tracker relatively new? Is it just Progress Worker: the advanced version?

What're your thoughts? Anyone used either before?

Sources:

GlideScriptedProgressWorker

GlideExecutionTracker

  • Script include: UpdateSetPreviewer (variable called '_tracker')
  • Script include: ChangeCheckConflicts (variable called 'tracker')
  • UI Macro: change_request_conflict_progress
  • Script include: SLARepair (variable called 'tracker')
2 REPLIES 2

Inactive_Us1474
Giga Guru

There is a package reference for this class GlideScriptedProgressWorker but not for GlideExecutionTracker.


Yea, I noticed that as well. That's what made me think that GlideExecutionTracker is relatively newer than GlideScriptedProgressWorker.