Skip to content

Expose wip#763

Open
bcomnes wants to merge 4 commits intotimgit:masterfrom
bcomnes:expose-wip
Open

Expose wip#763
bcomnes wants to merge 4 commits intotimgit:masterfrom
bcomnes:expose-wip

Conversation

@bcomnes
Copy link
Copy Markdown
Contributor

@bcomnes bcomnes commented Apr 10, 2026

Sorry to spam so many PRs!

I ran into a bit of a footgun with the WIP event. I understood it to emit every 2 seconds when there was work de-queued into a worker, but apparently its only every 2 seconds max, between job transitions (which is normally way more often than 2s in a healthy queue!).

But if you have a large queue of work that takes 20 minutes each job, and you de-queue 15 jobs, and they all start to run for 20 minutes at the same time, you only really get WIP ~20 minutes.

Since I want to use WIP as an observability hook, only getting metrics every 20 minutes won't work for that use case.

This PR exposes the WIP method so that I can call it from the outside at whatever frequency makes sense for the metrics collector (in my case).

bcomnes added 2 commits April 9, 2026 20:42
This can be used as an observability hook reliably
Copilot AI review requested due to automatic review settings April 10, 2026 03:55
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Exposes the internal “work-in-progress” (WIP) worker snapshot as a public API so external systems can poll worker utilization on-demand (instead of relying solely on the wip event cadence).

Changes:

  • Add PgBoss#getWipData() that forwards to the manager’s WIP snapshot.
  • Document getWipData() and recommend it for metrics/monitoring use cases with long-running jobs.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
src/index.ts Adds a new public getWipData() method returning WipData[].
docs/api/workers.md Updates worker monitoring docs and adds a new getWipData() API section with an example.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@coveralls
Copy link
Copy Markdown

coveralls commented Apr 10, 2026

Coverage Status

coverage: 100.0%. remained the same — bcomnes:expose-wip into timgit:master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants