Run Job does not specify which event loop to queue its tasks on
Nobody has claimed this yet.
- Dominant language
- Bikeshed
- Stars
- 3.6k
- Forks
- 324
- Avg merge
- 14d 22h
- Merged PRs (30d)
- 1
Description
I might be missing something here, but the Run Job algorithm currently just says "Queue a task to run [this job]", and I don't understand what it means to "queue a task" on a unspecified event loop. The definition of "queue a task" just mentions "the relevant event loop", but I'm not sure what that means in the context of the "Run Job" algorithm. When "Run Job" is invoked by "Schedule Job" I suppose it could arguably be the event loop of the document that called register or update (but does that mean that if the document goes away before the task runs, registration should be aborted?), and similarly when invoked by "Finish Job" it could arguably be the event loop the task for the just finshed job was running on, but that still has the same problem with what happens if that event loop goes away (or maybe it is still supposed to be the task queue/event loop of whoever originally scheduled the job?).
Is there supposed to be some separate SW processing event loop or something these tasks are supposed to run on? It doesn't seem like posting tasks to event loops associated with arbitrary (or even non-arbitrary) documents and/or workers could ever work, as that would mean the registration wouldn't complete if the document goes away before registration finishes (well, if registration didn't start before the event loop went away, which I guess might be okay?)
Either way it seems we should clarify what the relevant event loop is for "Run Job"
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the Run Job algorithm alongside Schedule Job, Finish Job, and the definition of “queue a task.” Determine which event loop is intended and how queued work behaves if the associated document, worker, or event loop goes away; done means the specification explicitly resolves this ambiguity.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100