Page MenuHomePhabricator

Split JobDescription interface from Job class
Closed, ResolvedPublic

Description

The job queue can be used as a notification channel between wikis, e.g. notifying a client wiki about changes occurring on a master wiki. To allow this, the interface for objects representing job descriptions/notifications should be independent of class used to actually execute jobs.

This can be done with minimal effort by defining a new interface, JobDescription, letting the Job class implement that (for compatibility), and use that interface instead of the Job class in code dealing with posting/scheduling jobs. The actual implementation of the job should only need to be known when and where the job is actually being executed.

This could be taken further by turning the job queue into a notification queue, and detaching notification handlers completely from the notification objects in the queue.


Version: 1.23.0
Severity: enhancement

Details

Reference
bz60403

Event Timeline

bzimport raised the priority of this task from to Normal.Nov 22 2014, 3:00 AM
bzimport added a project: MediaWiki-JobQueue.
bzimport set Reference to bz60403.
daniel created this task.Jan 24 2014, 7:32 PM

Change 109785 had a related patch set uploaded by Aaron Schulz:
Added a simple JobSpecification class for pushing jobs

https://gerrit.wikimedia.org/r/109785

Change 109785 merged by jenkins-bot:
Added a simple JobSpecification class for pushing jobs

https://gerrit.wikimedia.org/r/109785