Page MenuHomePhabricator

Recover more cleanly from worker tasks with unconstructable classes
ClosedPublic

Authored by epriestley on Jan 15 2015, 3:05 PM.
Tags
None
Referenced Files
F18820345: D11413.id.diff
Wed, Oct 22, 2:23 PM
F18817825: D11413.id27405.diff
Tue, Oct 21, 6:50 PM
F18811697: D11413.diff
Mon, Oct 20, 4:25 AM
F18109512: D11413.id27427.diff
Aug 11 2025, 2:13 PM
F18104527: D11413.diff
Aug 10 2025, 1:00 PM
F18103430: D11413.id.diff
Aug 10 2025, 5:18 AM
F17951688: D11413.id27405.diff
Aug 1 2025, 1:38 AM
F17756665: D11413.id27427.diff
Jul 22 2025, 2:34 PM
Subscribers

Details

Summary

This is unusual, but if getWorkerInstance() throws we end up with an undefined $worker when recovering from the exception.

Instead, handle this case slightly more gracefully.

The easiest way to hit this is to schedule a task for a worker that doesn't exist (or remove an existing worker, which is what I did to hit it).

Test Plan

Saw a more graceful error recovery; ran some normal successful tasks out of the queue.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Recover more cleanly from worker tasks with unconstructable classes.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
btrahan edited edge metadata.
This revision is now accepted and ready to land.Jan 15 2015, 6:29 PM
This revision was automatically updated to reflect the committed changes.