worker-automate-hub 0.4.446__py3-none-any.whl → 0.4.447__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.
@@ -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(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: worker-automate-hub
3
- Version: 0.4.446
3
+ Version: 0.4.447
4
4
  Summary: Worker Automate HUB é uma aplicação para automatizar rotinas de RPA nos ambientes Argenta.
5
5
  Author: Joel Paim
6
6
  Requires-Python: >=3.12,<4.0
@@ -6,6 +6,7 @@ worker_automate_hub/api/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
6
6
  worker_automate_hub/api/helpers/api_helpers.py,sha256=SkheO2fXexeh-a4shr8Qzsz_kZhuSG0DJ7kbODctRbM,3696
7
7
  worker_automate_hub/api/rpa_fila_service.py,sha256=DxBEghdoF2DZQDnkThEEQDkoak4yVRM9kooV1fm0syg,2102
8
8
  worker_automate_hub/api/rpa_historico_service.py,sha256=WhTMVW-uNlJO3YZakhx63xlsw3_XDeWnSD-3MVEzzdk,4763
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,7 +60,7 @@ 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=_PredamXAISIHpw7R-S0VgLbaO8lyG_z2BdUxtOrcg8,8921
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
@@ -69,7 +70,7 @@ worker_automate_hub/utils/updater.py,sha256=en2FCGhI8aZ-JNP3LQm64NJDc4awCNW7UhbV
69
70
  worker_automate_hub/utils/util.py,sha256=h0AoZgFND72mR0HufpvT0KB-QBa5lRml0pDKh_7pyrI,125955
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.446.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
73
- worker_automate_hub-0.4.446.dist-info/METADATA,sha256=bqncVJ3KxXMYV5kwpwogbmbDczMDcu5AiqZJKw6ghcM,2895
74
- worker_automate_hub-0.4.446.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
75
- worker_automate_hub-0.4.446.dist-info/RECORD,,
73
+ worker_automate_hub-0.4.447.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
74
+ worker_automate_hub-0.4.447.dist-info/METADATA,sha256=C5PY7SvzFlnrrdFBhCf0vxBXyfRwi2-59whX-t6Bul4,2895
75
+ worker_automate_hub-0.4.447.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
76
+ worker_automate_hub-0.4.447.dist-info/RECORD,,