Skip to main content

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.

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

If you're not sure about the file name format, learn more about wheel file names.

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.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page