Skip to main content

Asynchronous library to watch files in real time.

Project description

AIOWatcher

aiowatcher logo

GitHub repo size PyPI PyPI - Wheel GitHub GitHub last commit

Biblioteca para “observar” os arquivos de um diretório e chamar uma função de callback (filename, lines) toda vez que um dos arquivos monitorados for gravado, em tempo real.

Em termos práticos, isso pode ser comparado ao comando tail -F * .log do UNIX, mas em vez de ter linhas impressas no stdout, uma função Python é chamada.

Da mesma forma que o tail, ele se encarrega de “observar” os novos arquivos que são criados após a inicialização e “desbloquear” aqueles que são removidos nesse meio tempo. Isso significa que você será capaz de “seguir” e suportar também arquivos de log rotativos.

Key Features

  • Utiliza Asyncio para leitura e monitoramento assincrono.

  • A implementação escolhe automaticamente dependendo da compatibilidade do sistema.

  • Monitoramento de diversos arquivos em um mesmo diretório ou apenas de um.

  • Função callback assincrona.

Getting started

Todos os exemplos de código requerem Python 3.6+.

Basic Usage

import asyncio
from aiowatcher import AIOWatcher

async def callback(filename, line):
    print(line)

async def main():
    lw = AIOWatcher('var', callback, extensions=['txt'])
    await lw.init()
    await lw.loop()

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

Non blocking

import asyncio
from aiowatcher import AIOWatcher

async def callback(filename, line):
    print(line)

async def main():
    lw = AIOWatcher('var', callback, extensions=['txt'])
    while True:
        await lw.loop(blocking=False)
        await asyncio.sleep(0.1)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

License

aiowatcher é oferecido sob a licença Apache 2.

Source code

A versão mais recente do desenvolvedor está disponível em um repositório GitHub: https://github.com/py-paulo/aiowatcher.git

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiowatcher-0.0.3.tar.gz (6.1 kB view hashes)

Uploaded Source

Built Distribution

aiowatcher-0.0.3-py3-none-any.whl (10.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page