32kb small memory footprint single binary that run list of commands in parallel and waits for their termination

Install:
curl -L https://github.com/slavaGanzin/await/releases/download/0.9/await -o /usr/local/bin/await;
chmod +x /usr/local/bin/await
copy to clipboard

Follow @slavaGanzin Star
Profile Picture

Why do you need it?

  • You use CLI all day
  • You run builds from terminal
  • You automate deployments or tests
  • You write bash scripts

In other cases you don‛t! Just share with someone who may need!

Thanks for sharing!

What can you do with it?

Generate systemd service which will notify you when your site is down

await --forever --change \
  "curl 'https://await-cli.app' --silent \
    && echo UP || echo DOWN"  \
  --exec "ntfy send 'await-cli.app \1' \
  --service "await-cli.app:monitor"
copy to clipboard
Generate systemd service which will notify you when your site is down
Wait FAANG to fail

Wait FAANG to fail

await --fail \
  'whois facebook.com' \
  'nslookup apple.com' \
  'dig +short amazon.com' \
  'sleep 1 | telnet netflix.com 443 2>/dev/null' \
  'http google.com'
copy to clipboard

Run comands in parallel and restart on fail

await --forever --stdout --silent \
  "stylus --watch --compress --out . ./index.styl" \
  "pug index.pug --out . --watch 2>/dev/null"
copy to clipboard
Run comands in parallel and restart on fail
Substitute while substituting

Substitute while substituting

await  --forever --silent \
  'echo -n 10' \
  'echo -n $RANDOM' \
  'expr \1 + \2' \
  --exec 'echo \3'
copy to clipboard

Furiously wait for new iPhone in background process

await --interval 1000 --change --daemon \
  'http "https://www.apple.com" \
     | pup ".headline text{}"'  \
  --exec 'ntfy send "\1"'
copy to clipboard
Furiously wait for new iPhone in background process
Restart database and connect immediately after it become fully functional

Restart database and connect immediately after it become fully functional

sudo systemctl restart redis
  await 'redis-cli INFO' --exec 'redis-cli'
copy to clipboard

Invented new way to use await? Share with us!

What people say

I use it on daily basis. All our AI models are HUUUUGE, they load enormous amount of time and I need to run tests rigth after they finish loading. And then notify others that everything ok (or not). And not run whole KIBANA for it, please!

Slava Ganzin

Slava Ganzin

ML team lead

Wish I knew about it yesterday, when I invented my own version of it!

Victor Gavro

Victor Gavro

some random guy on internet

Guys if you use await, write me a couple words and I'll put testimonial from you here

Slava Ganzin

Slava Ganzin

Creator of await