Compare commits

...

44 Commits

Author SHA1 Message Date
d27eed093b Merge pull request 'fix' (#51) from master into dev
Reviewed-on: #51
2025-06-15 02:33:20 +03:00
Egor Matveev
151327ae0a fix
All checks were successful
Deploy Dev / Build (pull_request) Successful in 6s
Deploy Dev / Push (pull_request) Successful in 8s
Deploy Dev / Deploy dev (pull_request) Successful in 22s
2025-06-15 02:32:47 +03:00
77fe38acc0 Merge pull request 'fix' (#50) from master into dev
Reviewed-on: #50
2025-06-15 00:17:58 +03:00
Egor Matveev
d91ae82f6e fix
All checks were successful
Deploy Dev / Build (pull_request) Successful in 5s
Deploy Dev / Push (pull_request) Successful in 9s
Deploy Dev / Deploy dev (pull_request) Successful in 18s
2025-06-15 00:17:35 +03:00
64db408144 Merge pull request 'fix' (#49) from master into dev
Reviewed-on: #49
2025-06-15 00:09:59 +03:00
Egor Matveev
46031265e0 fix
All checks were successful
Deploy Dev / Build (pull_request) Successful in 1m5s
Deploy Dev / Push (pull_request) Successful in 13s
Deploy Dev / Deploy dev (pull_request) Successful in 15s
2025-06-15 00:09:33 +03:00
bd1e26cb50 Merge pull request 'fix' (#48) from master into dev
Reviewed-on: #48
2024-12-31 02:53:25 +03:00
5102564b84 Merge pull request 'master' (#47) from master into dev
Reviewed-on: #47
2024-12-31 02:50:30 +03:00
733ab721d6 Merge pull request 'fix' (#42) from master into dev
Reviewed-on: #42
2024-12-22 23:50:21 +03:00
57c012cb44 Merge pull request 'master' (#41) from master into dev
Reviewed-on: #41
2024-12-22 23:48:35 +03:00
96eef035c5 Merge pull request 'master' (#39) from master into dev
Reviewed-on: #39
2024-12-21 19:27:36 +03:00
cbbd1462cd Merge pull request 'fix' (#37) from master into dev
Reviewed-on: #37
2024-12-08 19:42:42 +03:00
5c6142202b Merge pull request 'fix' (#36) from master into dev
Reviewed-on: #36
2024-12-08 19:40:35 +03:00
723a230ced Merge pull request 'fix' (#35) from master into dev
Reviewed-on: #35
2024-12-08 13:45:28 +03:00
c32bfad431 Merge pull request 'fix' (#34) from master into dev
Reviewed-on: #34
2024-12-08 13:43:33 +03:00
0f58ed101e Merge pull request 'fix' (#33) from master into dev
Reviewed-on: #33
2024-12-08 12:06:25 +03:00
aebaa7e546 Merge pull request 'fix' (#32) from master into dev
Reviewed-on: #32
2024-12-08 11:48:59 +03:00
80462d2a61 Merge pull request 'fix' (#31) from master into dev
Reviewed-on: #31
2024-12-08 11:36:31 +03:00
f0399196b5 Merge pull request 'fix' (#30) from master into dev
Reviewed-on: #30
2024-12-08 11:34:33 +03:00
7b806075c7 Merge pull request 'fix' (#29) from master into dev
Reviewed-on: #29
2024-12-08 11:26:22 +03:00
2eb13d9443 Merge pull request 'master' (#28) from master into dev
Reviewed-on: #28
2024-12-08 11:22:27 +03:00
49634845a1 Merge pull request 'Update daemons/mailbox.py' (#27) from master into dev
Reviewed-on: #27
2024-12-02 22:39:10 +03:00
e02646a1a2 Merge pull request 'fix' (#26) from master into dev
Reviewed-on: #26
2024-12-02 21:57:09 +03:00
1b7e8686e4 Merge pull request 'fix' (#24) from master into dev
Reviewed-on: #24
2024-11-30 13:30:19 +03:00
cf12a0dca8 Merge pull request 'types' (#23) from master into dev
Reviewed-on: #23
2024-11-30 12:59:01 +03:00
0a97e56539 Merge pull request 'fix' (#21) from master into dev
Reviewed-on: #21
2024-11-29 20:31:45 +03:00
a5d3bd08c1 Merge pull request 'fix' (#20) from master into dev
Reviewed-on: #20
2024-11-29 20:25:38 +03:00
ad74b8de7a Merge pull request 'fix' (#18) from master into dev
Reviewed-on: #18
2024-11-28 23:09:59 +03:00
05d9cdc7b1 Merge pull request 'fix' (#17) from master into dev
Reviewed-on: #17
2024-11-28 22:58:47 +03:00
a209246513 Merge pull request 'fix' (#15) from master into dev
Reviewed-on: #15
2024-11-27 16:18:17 +03:00
0922b5a4a4 Merge pull request 'fix' (#14) from master into dev
Reviewed-on: #14
2024-11-27 16:14:35 +03:00
2ee74e70ac Merge pull request 'fix' (#13) from master into dev
Reviewed-on: #13
2024-11-27 14:46:14 +03:00
da93092232 Merge pull request 'fix' (#12) from master into dev
Reviewed-on: #12
2024-11-27 11:20:53 +03:00
60b933496f Merge pull request 'fix' (#11) from master into dev
Reviewed-on: #11
2024-11-27 11:15:30 +03:00
82b99ae803 Merge pull request 'fix' (#10) from master into dev
Reviewed-on: #10
2024-11-27 11:12:37 +03:00
c8f65a0ebb Merge pull request 'fix' (#9) from master into dev
Reviewed-on: #9
2024-11-27 11:10:47 +03:00
6401a40f11 Merge pull request 'fix' (#8) from master into dev
Reviewed-on: #8
2024-11-27 04:32:35 +03:00
32197fd699 Merge pull request 'fix' (#7) from master into dev
Reviewed-on: #7
2024-11-27 04:26:41 +03:00
e69ee8767a Merge pull request 'fix' (#6) from master into dev
Reviewed-on: #6
2024-11-27 04:19:26 +03:00
54f7581657 Merge pull request 'fix' (#5) from master into dev
Reviewed-on: #5
2024-11-27 04:14:58 +03:00
c6a2710087 Merge pull request 'fix' (#4) from master into dev
Reviewed-on: #4
2024-11-27 04:11:15 +03:00
42fc5552ab Merge pull request 'fix' (#3) from master into dev
Reviewed-on: #3
2024-11-27 04:09:16 +03:00
499eed49e0 Merge pull request 'fix' (#2) from master into dev
Reviewed-on: #2
2024-11-27 04:07:49 +03:00
349df7eb17 Merge pull request 'req' (#1) from master into dev
Reviewed-on: #1
2024-11-27 04:06:16 +03:00
4 changed files with 49 additions and 1 deletions

View File

@@ -22,6 +22,7 @@ services:
networks:
- configurator
- queues-development
- monitoring
environment:
STAGE: "development"
command: mailbox
@@ -38,3 +39,5 @@ networks:
external: true
queues-development:
external: true
monitoring:
external: true

View File

@@ -22,6 +22,7 @@ services:
networks:
- configurator
- queues
- monitoring
environment:
STAGE: "production"
command: mailbox
@@ -38,3 +39,5 @@ networks:
external: true
queues:
external: true
monitoring:
external: true

27
utils/metrics.py Normal file
View File

@@ -0,0 +1,27 @@
from queue import Queue
from threading import Thread
class MetricsSender(Thread):
queue: Queue = Queue()
def put(self, metric):
self.queue.put(metric)
def run(self):
while True:
metric = self.queue.get()
if not metric:
continue
try:
metric = metric()
if metric.status_code == 202:
print('metric ok')
else:
print(f'metric failed: {metric.status_code}')
except Exception as e:
print(f'metric failed: {e}')
metrics_sender = MetricsSender()
metrics_sender.start()

View File

@@ -1,6 +1,8 @@
import datetime
import os
import requests
import time
from utils.metrics import metrics_sender
stage = os.getenv("STAGE", 'local')
@@ -27,11 +29,14 @@ class TasksHandlerMixin:
if not task:
time.sleep(0.2)
continue
start = datetime.datetime.now()
try:
self.process(task['payload'])
success = True
except Exception as exc:
print(f'Error processing message id={task["id"]}, payload={task["payload"]}, exc={exc}')
continue
success = False
end = datetime.datetime.now()
try:
resp = requests.post(f'{QUEUES_URL}/api/v1/finish', json={'id': task['id']})
if resp.status_code != 202:
@@ -39,6 +44,16 @@ class TasksHandlerMixin:
except:
print(f'Failed to finish task id={task["id"]}')
metrics_sender.put(lambda: requests.post('http://monitoring:1237/api/v1/metrics/task', json={
'timestamp': start.strftime("%Y-%m-%dT%H:%M:%S") + "Z",
'service': 'botalka',
'environment': stage,
'queue': self.queue_name,
'success': success,
'execution_time_ms': (end - start).microseconds // 1000,
}))
@property
def queue_name(self):
raise NotImplemented