Skip to main content

Waits for a pattern to match output of a command or docker container logs.

Project description

Wait For Output

Waits for a pattern to match output of a command or docker container logs.

Features:

  • Waiting for a pattern to appear in docker container logs
  • Waiting for a generic command output to appear
  • Finding container name by regexp pattern
  • Returns result as a exit code and message
  • Output of checked command/container log is passed through to the console

Installing

pip install waitforoutput

Usage with docker

--container takes a regexp expression, or a full container name. Output from container is streamed to the console until timeout is reached, at the end only result is displayed - the container is not killed.

If multiple containers are found the application will exit with an error.

$ waitforoutput 'Configuration complete; ready for start up' --container 'nginx_*' --timeout 5
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
[2021-05-14 05:01:46.188][info]: Match found

Usage with any shell command

Command specified with --command parameter will be launched, and the waitforoutput will be streaming output until the --timeout is reached. After timeout the process will be killed.

$ waitforoutput 'Linux' --command 'uname -a'
Linux riotkit-dev 5.10.23-1-MANJARO #1 SMP PREEMPT Thu Mar 11 18:47:18 UTC 2021 x86_64 GNU/Linux
[2021-05-14 05:01:46.188][info]: Match found

Authors

Created by Riotkit anarchist tech-collective.

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

waitforoutput-1.0.1.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

waitforoutput-1.0.1-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file waitforoutput-1.0.1.tar.gz.

File metadata

  • Download URL: waitforoutput-1.0.1.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for waitforoutput-1.0.1.tar.gz
Algorithm Hash digest
SHA256 cd94d8dccea5b0799fbe9c0b14813e6d6bb06aa2381d52821c9cf4af028249ec
MD5 1cf25deedc117f25feba02a0c8583286
BLAKE2b-256 a46f60c0076c5370a5e8e873424e62fed22283f3beafab5b969dfe8066246752

See more details on using hashes here.

File details

Details for the file waitforoutput-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: waitforoutput-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for waitforoutput-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e83ee49fec71c64c5a3be1464b81fac44ee90dcc555486b53bd6fce993341961
MD5 196011eead7ad10ebe17331b31b55602
BLAKE2b-256 23bb107e4195b50ee84d6448e28ed1221937983c223a573cfe682a1db4bf02f6

See more details on using hashes here.

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