worker-automate-hub 0.4.446__py3-none-any.whl → 0.4.448__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- worker_automate_hub/api/client.py +9 -9
- worker_automate_hub/api/rpa_fila_service.py +2 -2
- worker_automate_hub/api/rpa_historico_service.py +2 -2
- worker_automate_hub/api/webhook_service.py +57 -0
- worker_automate_hub/tasks/task_executor.py +9 -0
- worker_automate_hub/utils/util.py +1 -1
- {worker_automate_hub-0.4.446.dist-info → worker_automate_hub-0.4.448.dist-info}/METADATA +1 -1
- {worker_automate_hub-0.4.446.dist-info → worker_automate_hub-0.4.448.dist-info}/RECORD +10 -9
- {worker_automate_hub-0.4.446.dist-info → worker_automate_hub-0.4.448.dist-info}/WHEEL +0 -0
- {worker_automate_hub-0.4.446.dist-info → worker_automate_hub-0.4.448.dist-info}/entry_points.txt +0 -0
@@ -24,7 +24,7 @@ async def get_new_task(stop_event: threading.Event) -> RpaProcessoEntradaDTO:
|
|
24
24
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
25
25
|
data = await get_new_task_info()
|
26
26
|
|
27
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
27
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
28
28
|
async with session.post(
|
29
29
|
f"{env_config["API_BASE_URL"]}/robo/new-job",
|
30
30
|
data=data,
|
@@ -53,7 +53,7 @@ async def notify_is_alive(stop_event: threading.Event):
|
|
53
53
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
54
54
|
data = await get_system_info()
|
55
55
|
|
56
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
56
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
57
57
|
async with session.put(
|
58
58
|
f"{env_config["API_BASE_URL"]}/robo/last-alive",
|
59
59
|
data=data,
|
@@ -89,7 +89,7 @@ async def get_historico_by_processo_identificador(identificador, process_name):
|
|
89
89
|
}
|
90
90
|
|
91
91
|
try:
|
92
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
92
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
93
93
|
async with session.post(
|
94
94
|
f"{env_config['API_BASE_URL']}/historico/by-identificador",
|
95
95
|
headers=headers_basic,
|
@@ -131,7 +131,7 @@ async def get_processo(uuidProcesso: str) -> RpaProcesso:
|
|
131
131
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
132
132
|
|
133
133
|
|
134
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
134
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
135
135
|
async with session.get(
|
136
136
|
f"{env_config["API_BASE_URL"]}/processo/{uuidProcesso}",
|
137
137
|
headers=headers_basic,
|
@@ -164,7 +164,7 @@ async def get_workers():
|
|
164
164
|
|
165
165
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
166
166
|
|
167
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
167
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
168
168
|
async with session.get(
|
169
169
|
f"{env_config["API_BASE_URL"]}/robo/workers",
|
170
170
|
headers=headers_basic,
|
@@ -207,7 +207,7 @@ async def get_config_by_name(name: str) -> RpaConfiguracao:
|
|
207
207
|
try:
|
208
208
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
209
209
|
|
210
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
210
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
211
211
|
async with session.get(
|
212
212
|
f"{env_config["API_BASE_URL"]}/configuracao/api/{name}",
|
213
213
|
headers=headers_basic,
|
@@ -297,7 +297,7 @@ async def send_gchat_message(message: str) -> None:
|
|
297
297
|
try:
|
298
298
|
headers_basic = {"Authorization": f"Basic {env_config['API_AUTHORIZATION']}"}
|
299
299
|
|
300
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
300
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
301
301
|
async with session.post(
|
302
302
|
f"{env_config['API_BASE_URL']}/google-chat",
|
303
303
|
data={"message": message},
|
@@ -376,7 +376,7 @@ async def get_index_modelo_emsys(filial: str, descricao_documento: str):
|
|
376
376
|
|
377
377
|
try:
|
378
378
|
async with aiohttp.ClientSession(
|
379
|
-
connector=aiohttp.TCPConnector(verify_ssl=
|
379
|
+
connector=aiohttp.TCPConnector(verify_ssl=True)
|
380
380
|
) as session:
|
381
381
|
async with session.post(f"{env_config['API_BASE_URL']}/emsys/buscar-index-documento-fiscal", data=body,
|
382
382
|
headers=headers_basic) as response:
|
@@ -420,7 +420,7 @@ async def get_status_nf_emsys(chave: int):
|
|
420
420
|
|
421
421
|
try:
|
422
422
|
async with aiohttp.ClientSession(
|
423
|
-
connector=aiohttp.TCPConnector(verify_ssl=
|
423
|
+
connector=aiohttp.TCPConnector(verify_ssl=True)
|
424
424
|
) as session:
|
425
425
|
async with session.get(url, headers=headers_basic) as response:
|
426
426
|
if response.status != 200:
|
@@ -14,7 +14,7 @@ async def burn_queue(id_fila: str):
|
|
14
14
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
15
15
|
|
16
16
|
|
17
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
17
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
18
18
|
async with session.delete(
|
19
19
|
f"{env_config["API_BASE_URL"]}/fila/burn-queue/{id_fila}",
|
20
20
|
headers=headers_basic,
|
@@ -41,7 +41,7 @@ async def unlock_queue(id: str):
|
|
41
41
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
42
42
|
|
43
43
|
|
44
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
44
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
45
45
|
async with session.get(
|
46
46
|
f"{env_config["API_BASE_URL"]}/fila/unlock-queue/{id}",
|
47
47
|
headers=headers_basic,
|
@@ -36,7 +36,7 @@ async def store(data: RpaHistoricoRequestDTO) -> dict:
|
|
36
36
|
}
|
37
37
|
try:
|
38
38
|
async with aiohttp.ClientSession(
|
39
|
-
connector=aiohttp.TCPConnector(verify_ssl=
|
39
|
+
connector=aiohttp.TCPConnector(verify_ssl=True)
|
40
40
|
) as session:
|
41
41
|
payload = data.model_dump_json()
|
42
42
|
|
@@ -86,7 +86,7 @@ async def update(data: RpaHistoricoRequestDTO) -> dict:
|
|
86
86
|
raise TypeError("Parâmetro data deve ser do tipo RpaHistoricoRequestDTO")
|
87
87
|
try:
|
88
88
|
async with aiohttp.ClientSession(
|
89
|
-
connector=aiohttp.TCPConnector(verify_ssl=
|
89
|
+
connector=aiohttp.TCPConnector(verify_ssl=True)
|
90
90
|
) as session:
|
91
91
|
if not data.uuidHistorico:
|
92
92
|
raise ValueError("Parâmetro uuidHistorico deve ser informado")
|
@@ -0,0 +1,57 @@
|
|
1
|
+
from worker_automate_hub.utils.logger import logger
|
2
|
+
from rich.console import Console
|
3
|
+
|
4
|
+
import aiohttp
|
5
|
+
|
6
|
+
console = Console()
|
7
|
+
|
8
|
+
async def send_to_webhook(
|
9
|
+
url_retorno: str,
|
10
|
+
status: str,
|
11
|
+
observacao: str
|
12
|
+
) -> None:
|
13
|
+
"""
|
14
|
+
Envia uma notificacao para o endpoint do webhook passado como parametro.
|
15
|
+
|
16
|
+
Args:
|
17
|
+
url_retorno (str): URL do endpoint do webhook.
|
18
|
+
status (str): Status da notificacao.
|
19
|
+
observacao (str): Observacao da notificacao.
|
20
|
+
|
21
|
+
Raises:
|
22
|
+
ValueError: Se a URL, status ou observacao forem vazias.
|
23
|
+
"""
|
24
|
+
if not url_retorno:
|
25
|
+
raise ValueError("URL do retorno esta vazia.")
|
26
|
+
|
27
|
+
if not status:
|
28
|
+
raise ValueError("Status da notificacao esta vazio.")
|
29
|
+
|
30
|
+
if not observacao:
|
31
|
+
raise ValueError("Observacao da notificacao esta vazia.")
|
32
|
+
|
33
|
+
data = {
|
34
|
+
"status": status,
|
35
|
+
"observacao": observacao,
|
36
|
+
}
|
37
|
+
|
38
|
+
try:
|
39
|
+
async with aiohttp.ClientSession(
|
40
|
+
connector=aiohttp.TCPConnector(verify_ssl=False)
|
41
|
+
) as session:
|
42
|
+
async with session.post(f"{url_retorno}", data=data) as response:
|
43
|
+
if response.status != 200:
|
44
|
+
raise Exception(f"Erro ao enviar notificacao: {response.text()}")
|
45
|
+
|
46
|
+
data = await response.text()
|
47
|
+
log_msg = f"\nSucesso ao enviar {data}\n para o webhook: {url_retorno}.\n"
|
48
|
+
console.print(
|
49
|
+
log_msg,
|
50
|
+
style="bold green",
|
51
|
+
)
|
52
|
+
logger.info(log_msg)
|
53
|
+
|
54
|
+
except Exception as e:
|
55
|
+
err_msg = f"Erro ao comunicar com endpoint do webhook: {e}"
|
56
|
+
console.print(f"\n{err_msg}\n", style="bold red")
|
57
|
+
logger.info(err_msg)
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from datetime import datetime
|
2
2
|
|
3
3
|
from pytz import timezone
|
4
|
+
from worker_automate_hub.api.webhook_service import send_to_webhook
|
4
5
|
from rich.console import Console
|
5
6
|
|
6
7
|
from worker_automate_hub.api.client import (
|
@@ -37,6 +38,7 @@ async def perform_task(task: RpaProcessoEntradaDTO):
|
|
37
38
|
console.print(f"\n{log_msg}\n", style="green")
|
38
39
|
logger.info(log_msg)
|
39
40
|
task_uuid = task.uuidProcesso
|
41
|
+
url_retorno = task.configEntrada.get("urlRetorno", None)
|
40
42
|
processo: RpaProcesso = await get_processo(task_uuid)
|
41
43
|
if processo is None:
|
42
44
|
worker_config = load_worker_config()
|
@@ -74,6 +76,9 @@ async def perform_task(task: RpaProcessoEntradaDTO):
|
|
74
76
|
)
|
75
77
|
else:
|
76
78
|
show_toast("Sucesso", f"Processo executado com sucesso: {result}")
|
79
|
+
|
80
|
+
if url_retorno is not None and result.sucesso == False:
|
81
|
+
await send_to_webhook(url_retorno, result.status, result.retorno)
|
77
82
|
return result
|
78
83
|
else:
|
79
84
|
err_msg = f"Processo não encontrado: {task_uuid}"
|
@@ -93,6 +98,8 @@ async def perform_task(task: RpaProcessoEntradaDTO):
|
|
93
98
|
processo=processo,
|
94
99
|
)
|
95
100
|
await unlock_queue(task.uuidFila)
|
101
|
+
if url_retorno is not None:
|
102
|
+
await send_to_webhook(url_retorno, RpaHistoricoStatusEnum.Falha, err_msg)
|
96
103
|
return None
|
97
104
|
except Exception as e:
|
98
105
|
err_msg = f"Erro ao performar o processo: {e}"
|
@@ -112,6 +119,8 @@ async def perform_task(task: RpaProcessoEntradaDTO):
|
|
112
119
|
await capture_and_send_screenshot(
|
113
120
|
uuidRelacao=historico.uuidHistorico, desArquivo=err_msg
|
114
121
|
)
|
122
|
+
if url_retorno is not None:
|
123
|
+
await send_to_webhook(url_retorno, RpaHistoricoStatusEnum.Falha, err_msg)
|
115
124
|
|
116
125
|
|
117
126
|
async def _store_historico(
|
@@ -650,7 +650,7 @@ async def api_simplifica(
|
|
650
650
|
|
651
651
|
try:
|
652
652
|
async with aiohttp.ClientSession(
|
653
|
-
connector=aiohttp.TCPConnector(verify_ssl=
|
653
|
+
connector=aiohttp.TCPConnector(verify_ssl=True)
|
654
654
|
) as session:
|
655
655
|
async with session.post(f"{urlSimplifica}", data=data) as response:
|
656
656
|
if response.status != 200:
|
@@ -1,11 +1,12 @@
|
|
1
1
|
worker_automate_hub/__init__.py,sha256=LV28uQvBfpPIqudGIMJmVB8E941MjXHcu8DMoX5n8AM,25
|
2
2
|
worker_automate_hub/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
worker_automate_hub/api/ahead_service.py,sha256=0tX-i1ACRg3_yOI-_AfFEZ6FNU3L8Zb316n3QUkSwL0,2027
|
4
|
-
worker_automate_hub/api/client.py,sha256=
|
4
|
+
worker_automate_hub/api/client.py,sha256=fU7Br8RZEHc_zYb-i4nkSdvp96fCvKs-VQJGd3dw-Kk,18782
|
5
5
|
worker_automate_hub/api/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
worker_automate_hub/api/helpers/api_helpers.py,sha256=SkheO2fXexeh-a4shr8Qzsz_kZhuSG0DJ7kbODctRbM,3696
|
7
|
-
worker_automate_hub/api/rpa_fila_service.py,sha256=
|
8
|
-
worker_automate_hub/api/rpa_historico_service.py,sha256=
|
7
|
+
worker_automate_hub/api/rpa_fila_service.py,sha256=K_8EL5P6Y_CHs-f9ZGTsuUUjMd2fu4wN4NieHvMijKs,2100
|
8
|
+
worker_automate_hub/api/rpa_historico_service.py,sha256=GZ3umxvSGNecQsffIRwgfmgpXHDFWq8EiBuAYqtrMNQ,4761
|
9
|
+
worker_automate_hub/api/webhook_service.py,sha256=9KvTv1U02CSYpf_vLnqs4RZqZzR7Mn0v1OVOI451yOM,1762
|
9
10
|
worker_automate_hub/cli.py,sha256=JB45pjPJ8_E-4xw0OjqDMcAw-tpDV0mjmvwJRTnTzY0,6862
|
10
11
|
worker_automate_hub/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
12
|
worker_automate_hub/config/settings.py,sha256=4BkIYV0C9C_tl68WNfw3aoywr1-_bRJsKysSnSRALT0,2450
|
@@ -59,17 +60,17 @@ worker_automate_hub/tasks/jobs/playground.py,sha256=bdnXv3C7WLQUxt4edGZDfAbRJJ2-
|
|
59
60
|
worker_automate_hub/tasks/jobs/sped_fiscal.py,sha256=_byvD7i_N3pgPjQd1lc0XNKCFONIPbmvX3_jq5AnbKY,26707
|
60
61
|
worker_automate_hub/tasks/jobs/transferencias.py,sha256=zwCbVTwX15SCeLtvYgAyENeUSIuETx4Z9Cysr1Es8Jo,38013
|
61
62
|
worker_automate_hub/tasks/task_definitions.py,sha256=2Jp1H4_qJZqqGyaP6MA87KLt4QNrtWBYWbXu-2gymFo,4459
|
62
|
-
worker_automate_hub/tasks/task_executor.py,sha256=
|
63
|
+
worker_automate_hub/tasks/task_executor.py,sha256=B5tHhktA0eWYbx5bFWIrIBKU2iWsHGzaYS8QZ4KjSHo,9462
|
63
64
|
worker_automate_hub/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
64
65
|
worker_automate_hub/utils/env.py,sha256=TacQjGRO7PUNpttrhTAc5Gnegaiysl2Knsv1P8qfkfs,57
|
65
66
|
worker_automate_hub/utils/get_creds_gworkspace.py,sha256=ZJ0IIEjM4IXIV9rwfbOZ1V1wiaMoJAGZeSy0D37sYdU,2212
|
66
67
|
worker_automate_hub/utils/logger.py,sha256=FYV9fg0_RAYJF_ZOCJEbqQAiCXlXk2gMpvUU1rzT_xs,671
|
67
68
|
worker_automate_hub/utils/toast.py,sha256=xPHc5r5uOxB_cZlCzm13Kt2qSKLLFZALncU6Qg3Ft68,1162
|
68
69
|
worker_automate_hub/utils/updater.py,sha256=en2FCGhI8aZ-JNP3LQm64NJDc4awCNW7UhbVlwDl49Y,7972
|
69
|
-
worker_automate_hub/utils/util.py,sha256=
|
70
|
+
worker_automate_hub/utils/util.py,sha256=JkSKFgnI6geDEIlpaJJ5Btd7XdPllfUSFcjvPAaG-bo,125954
|
70
71
|
worker_automate_hub/utils/utils_nfe_entrada.py,sha256=p5r_L5k7gqCBvV8v6dbLFM6INKiSpGc4Gegid0_YAh4,29017
|
71
72
|
worker_automate_hub/worker.py,sha256=tftQpX8liC-_0_bOUf1YYzXSCvloMQBvjmQ6lzfEE-c,4816
|
72
|
-
worker_automate_hub-0.4.
|
73
|
-
worker_automate_hub-0.4.
|
74
|
-
worker_automate_hub-0.4.
|
75
|
-
worker_automate_hub-0.4.
|
73
|
+
worker_automate_hub-0.4.448.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
|
74
|
+
worker_automate_hub-0.4.448.dist-info/METADATA,sha256=xolmgP4uWa1s6in1Ou0z7VzqrwKBwt5Ru_XiQqCzkZw,2895
|
75
|
+
worker_automate_hub-0.4.448.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
76
|
+
worker_automate_hub-0.4.448.dist-info/RECORD,,
|
File without changes
|
{worker_automate_hub-0.4.446.dist-info → worker_automate_hub-0.4.448.dist-info}/entry_points.txt
RENAMED
File without changes
|