summaryrefslogtreecommitdiff
path: root/olamic-wait
diff options
context:
space:
mode:
authorJulian Blake Kongslie2020-11-25 10:45:14 -0800
committerJulian Blake Kongslie2020-11-25 10:51:38 -0800
commited1db863129a5fb17dcd02c47b8744458fa046e1 (patch)
tree41a28e6297ee82302ac7df56e0ad076ca10ddcc0 /olamic-wait
parentChange the example githook to remove a level of indirection. (diff)
downloadolamic-ed1db863129a5fb17dcd02c47b8744458fa046e1.tar.xz
Add olamic-wait tool for blocking until a task is complete.
Diffstat (limited to '')
-rwxr-xr-xolamic-wait27
1 files changed, 27 insertions, 0 deletions
diff --git a/olamic-wait b/olamic-wait
new file mode 100755
index 0000000..557c80a
--- /dev/null
+++ b/olamic-wait
@@ -0,0 +1,27 @@
1#!/bin/bash
2
3set -eu
4
5QUEUE_DIR="$1"; shift
6
7WAIT_UUID=""
8while true; do
9 WAITING=false
10 for UUID in "$@"; do
11 if [[ -e "$QUEUE_DIR"/candidates/"$UUID" || -e "$QUEUE_DIR"/in-progress/"$UUID" ]]; then
12 WAITING=true
13 if [[ "$WAIT_UUID" != "$UUID" ]]; then
14 WAIT_UUID="$UUID"
15 echo "$(date -Iseconds) Waiting for: $UUID"
16 fi
17 break
18 else
19 echo "$(date -Iseconds) Complete: $UUID"
20 shift
21 fi
22 done
23 if ! $WAITING; then
24 break
25 fi
26 sleep 1
27done