Metadata-Version: 2.1
Name: pymonit
Version: 1.5.0
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='project_name'
COMPANY='company_name'
DEV='coder'
LOCATION='location_name'
HANDLER_URL='https://example.com'
PHONE='556199999999'
```
### Exemplo de Uso:

**Utilização simples**
```python
import time

from monit.core import Monitor as monit

def main():

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

    except Exception as e:
        monit.notify_and_exit(e) # para o script

    monit.end() # manda sinal de fim sem erros


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

**Utilização avançada**

```Python
from time import sleep

from monit.core import Monitor as monit
from monit.logger import Logger
from monit.log2file import Log2File

Log2File() # Salva todo o log em um arquivo
log = Logger()

def main():

    try:
        log.info("Hello, World!")

        sleep(2)
        raise ValueError("This is a sample error.")

    except Exception as e:
        monit.msg("Ocorreu um erro, tentando de novo...") # Whatsapp
        monit.notify(e) # não para o script

        try:
            log.info("Tentando novamente...")

            sleep(2)
            raise ValueError("This is another error.")

        except Exception as e:
            monit.msg("Script terminou com erros.")
            monit.notify_end_exit(e)

    monit.end()


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