US05-02: Orchestrate Album Upload Batches (#72)
This commit was merged in pull request #72.
This commit is contained in:
@@ -30,6 +30,7 @@ class Worker:
|
||||
*,
|
||||
job_types: Sequence[str] | None = None,
|
||||
lease_seconds: int = 60,
|
||||
config: object | None = None,
|
||||
) -> None:
|
||||
self._session_factory = session_factory
|
||||
self.service = JobService(session_factory)
|
||||
@@ -37,6 +38,7 @@ class Worker:
|
||||
self.worker_id = worker_id
|
||||
self.job_types = list(job_types if job_types is not None else self.handlers.keys())
|
||||
self.lease_seconds = lease_seconds
|
||||
self.config = config
|
||||
|
||||
def run_once(self) -> str | None:
|
||||
"""Recover stragglers, then claim and fully process one job. Returns its id."""
|
||||
@@ -51,7 +53,9 @@ class Worker:
|
||||
|
||||
def _process(self, job_id: str, job_type: str, token: int) -> None:
|
||||
handler = self.handlers[job_type]
|
||||
ctx = JobContext(job_id, self.worker_id, token, self.service, self._session_factory)
|
||||
ctx = JobContext(
|
||||
job_id, self.worker_id, token, self.service, self._session_factory, self.config
|
||||
)
|
||||
self._reset_interrupted_items(job_id, token)
|
||||
|
||||
cancelled = False
|
||||
|
||||
Reference in New Issue
Block a user