aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.travis/track_status.sh
blob: 91be5a350f4d1bcf6aa7dea284e9fc5925c4aadb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/env bash

set -o errexit -o nounset -o pipefail

track_status() {
    local log_path
    log_path="$( mktemp )"
    echo "Log file path: $log_path"

    local db_path
    db_path="$( mktemp --dry-run )"
    echo "DB file path: $db_path"

    local rm_aux_files
    rm_aux_files="$( printf -- 'rm -f -- %q %q' "$log_path" "$db_path" )"

    trap "$rm_aux_files" RETURN

    echo 'Running track_status.py...'
    python3 -m bin.track_status egor.tensin --log "$log_path" --format csv --output "$db_path" &
    local pid="$!"
    echo "Its PID is $pid"

    local timeout=15
    echo "Sleeping for $timeout seconds..."
    sleep "$timeout"

    echo 'Terminating track_status.py...'
    kill -SIGINT "$pid"
    echo 'Waiting for track_status.py to terminate...'
    wait "$pid"

    echo "Log file:"
    cat "$log_path"
    echo "DB:"
    cat "$db_path"
}

main() {
    track_status
}

main "$@"