Metadata-Version: 2.1
Name: pymonit
Version: 1.3.20
Summary: Programa de monitoramento de código python, desenvolvido para ser utilizado pelas funcionário da Agência de dados
Home-page: https://github.com/arktnld/monit
Author: arktnld
Author-email: arktnld@gmail.com
License: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: sqlalchemy
Requires-Dist: pymysql
Requires-Dist: psutil
Requires-Dist: python-dotenv

### Monit

**Instalação:**
```bash
pip install pymonit
```
**Atualização:**
```bash
pip install -U pymonit
```
**Exemplo arquivo `.monit`:**
```bash
# Project info
# Informações obrigatórias
PROJECT=sample_project
COMPANY=acme
DEV=coder

# Database info
# Informações obrigatórias
DB_USER=user
DB_PASSWORD=p@ssw0rd
DB_HOST=localhost
DB_DATABASE=teste

# Email info
# Deixe em branco para desativar o envio de e-mails
EMAIL=
EMAIL_PASSWORD=
```
### Exemplo de Uso:

**Utilização do Monit para notificação de erros**
```python
#
#  IMPORTANTE: importar OS e entrar na pasta atual é obrigatório no inicio do arquivo,
#              para que o script seja executado corretamente em agendadores de tarefa.
#
import os

script_path = os.path.abspath(__file__)
os.chdir(os.path.dirname(script_path))

import time

from monit.core import Monitor as monit
from monit.error import SetupError

def main():

    try:
        time.sleep(5)
        raise ValueError("This is a sample error.")

    except Exception as e:
        print("Erro: Ocorreu um erro inesperado.")
        monit.notify_and_exit(e)


if __name__ == "__main__":
    main()
```

**Utilização do Monit para notificação de erros que
não são grandes o suficientes para exigir que o
processo seja interrompido.**

```Python
#
#  IMPORTANTE: importar OS e entrar na pasta atual é obrigatório no inicio do arquivo,
#              para que o script seja executado corretamente em agendadores de tarefa.
#
import os

script_path = os.path.abspath(__file__)
os.chdir(os.path.dirname(script_path))

import time

from monit.core import Monitor as monit
from monit.error import SetupError
# from monit.logger import Logger
# from monit.log2file import Log2File

def main():
    # Initialize the Monitor
    monit = Monitor()

    # Log2File()
    # log = Logger()

    try:
        # Your code that might raise exceptions
        time.sleep(5)
        raise ValueError("This is a sample error.")

    except Exception as e:
        print("Erro: Ocorreu um erro inesperado.")
        monit.notify(e)

    monit.end()


if __name__ == "__main__":
    main()
