Compare commits

..

4 Commits

Author SHA1 Message Date
f8ec8af981 Merge pull request 'fix' (#16) from queues into prod
Reviewed-on: #16
2024-11-26 20:00:36 +03:00
26af411bf4 Merge pull request 'queues' (#15) from queues into prod
Reviewed-on: #15
2024-11-25 00:07:14 +03:00
034f19aea9 Merge pull request 'deploy' (#4) from master into prod
Reviewed-on: #4
2024-10-11 07:17:13 +03:00
8a10b1d180 Merge pull request 'deploy' (#3) from master into prod
Reviewed-on: #3
2024-10-11 07:14:07 +03:00

View File

@@ -17,22 +17,22 @@ class QueuesException(Exception):
class TasksHandlerMixin:
def poll(self):
while True:
response = requests.get(f'{QUEUES_URL}/api/v1/take', headers={'queue': self.queue_name}).json()
task = response.get('task')
if not task:
response = requests.get(f'{QUEUES_URL}/api/v1/take', headers={'queue': self.queue_name})
if response.status_code == 404:
time.sleep(0.2)
continue
data = response.json()
try:
self.process(task['payload'])
self.process(data['payload'])
except Exception as exc:
print(f'Error processing message id={task["id"]}, payload={task["payload"]}, exc={exc}')
print(f'Error processing message id={data["id"]}, payload={data["payload"]}, exc={exc}')
continue
try:
resp = requests.post(f'{QUEUES_URL}/api/v1/finish', json={'id': task['id']})
resp = requests.post(f'{QUEUES_URL}/api/v1/finish', json={'id': data['id']})
if resp.status_code != 202:
raise QueuesException
except:
print(f'Failed to finish task id={task["id"]}')
print(f'Failed to finish task id={data["id"]}')
@property
def queue_name(self):