MCPcopy Create free account
hub / github.com/airbnb/binaryalert / Worker

Class Worker

cli/enqueue_task.py:35–59  ·  view source on GitHub ↗

Worker processes consumes S3 versions from the task queue and processes them.

Source from the content-addressed store, hash-verified

33
34
35class Worker(Process):
36 """Worker processes consumes S3 versions from the task queue and processes them."""
37
38 def __init__(self, sqs_queue_name: str, task_queue: JoinableQueue) -> None:
39 """Create a new worker process.
40
41 Args:
42 sqs_queue_name: Name of the target SQS queue
43 task_queue: Thread-safe queue of EnqueueTasks to complete
44 """
45 super().__init__()
46 self._task_queue = task_queue
47 self._queue = boto3.resource('sqs').get_queue_by_name(QueueName=sqs_queue_name)
48
49 def run(self) -> None:
50 """Consume tasks from the task queue until an empty task is found."""
51 while True:
52 task = self._task_queue.get()
53
54 if task is None:
55 self._task_queue.task_done()
56 return
57
58 task.run(self._queue)
59 self._task_queue.task_done()

Callers 1

_enqueueMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected