Skip to content

稼働テストのログ

ryokohbato edited this page Dec 16, 2021 · 8 revisions

稼働テストのログ

2021年12月に行った稼働テスト

参加人数: 11人

必要なシェルスクリプト

以下のようなシェルスクリプトを用意し、

run.sh

#!/bin/bash

cd $(dirname $0)

/usr/local/bin/node ./additionalAssignTask.js $1
sleep 1m
/usr/local/bin/node ./updateStatus.js $1
sleep 1m
/usr/local/bin/node ./assignTask.js $1
sleep 1m
/usr/local/bin/node ./assignTask.js $1
sleep 1m
/usr/local/bin/node ./publicAnnounce.js $1

run_public_announce.sh

#!/bin/bash

cd $(dirname $0)

/usr/local/bin/node ./publicAnnounce.js $1

cronで動かした。

cronの設定

$ crontab -l
# 1周目
0 9 13 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date +"\%Y\%m\%d")
0 10 13 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "1 days" +"\%Y\%m\%d")
0 11 13 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "2 days" +"\%Y\%m\%d")
0 12 13 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "3 days" +"\%Y\%m\%d")
0 13 13 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "4 days" +"\%Y\%m\%d")
0 14 13 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "5 days" +"\%Y\%m\%d")
0 15 13 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "6 days" +"\%Y\%m\%d")
0 16 13 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "7 days" +"\%Y\%m\%d")
0 17 13 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "8 days" +"\%Y\%m\%d")
0 18 13 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "9 days" +"\%Y\%m\%d")
0 19 13 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "10 days" +"\%Y\%m\%d")
0 20 13 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "11 days" +"\%Y\%m\%d")
0 21 13 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "12 days" +"\%Y\%m\%d")

0 9 14 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "13 days" +"\%Y\%m\%d")
0 10 14 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "14 days" +"\%Y\%m\%d")
0 11 14 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "15 days" +"\%Y\%m\%d")
0 12 14 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "16 days" +"\%Y\%m\%d")
0 13 14 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "17 days" +"\%Y\%m\%d")
0 14 14 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "18 days" +"\%Y\%m\%d")
0 15 14 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "19 days" +"\%Y\%m\%d")
0 16 14 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "20 days" +"\%Y\%m\%d")
0 17 14 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "21 days" +"\%Y\%m\%d")
0 18 14 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "22 days" +"\%Y\%m\%d")
0 19 14 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "23 days" +"\%Y\%m\%d")
0 20 14 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "24 days" +"\%Y\%m\%d")
0 21 14 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "25 days" +"\%Y\%m\%d")

# 2周目
0 9 15 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "200days" +"\%Y\%m\%d")
0 10 15 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "201 days" +"\%Y\%m\%d")
0 11 15 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "202 days" +"\%Y\%m\%d")
0 12 15 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "203 days" +"\%Y\%m\%d")
0 13 15 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "204 days" +"\%Y\%m\%d")
0 14 15 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "205 days" +"\%Y\%m\%d")
0 15 15 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "206 days" +"\%Y\%m\%d")
0 16 15 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "207 days" +"\%Y\%m\%d")
0 17 15 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "208 days" +"\%Y\%m\%d")
0 18 15 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "209 days" +"\%Y\%m\%d")
0 19 15 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "210 days" +"\%Y\%m\%d")
0 20 15 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "211 days" +"\%Y\%m\%d")
0 21 15 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "212 days" +"\%Y\%m\%d")

0 9 16 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "213 days" +"\%Y\%m\%d")
0 1 16 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "214 days" +"\%Y\%m\%d")
0 11 16 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "215 days" +"\%Y\%m\%d")
0 12 16 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "216 days" +"\%Y\%m\%d")
0 13 16 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "217 days" +"\%Y\%m\%d")
0 14 16 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "218 days" +"\%Y\%m\%d")
0 15 16 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "219 days" +"\%Y\%m\%d")
0 16 16 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "220 days" +"\%Y\%m\%d")
0 17 16 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "221 days" +"\%Y\%m\%d")
0 18 16 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "222 days" +"\%Y\%m\%d")
0 19 16 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "223 days" +"\%Y\%m\%d")
0 20 16 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "224 days" +"\%Y\%m\%d")
0 21 16 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "225 days" +"\%Y\%m\%d")

# 3周目
0 9 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "400days" +"\%Y\%m\%d")
0 10 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "401 days" +"\%Y\%m\%d")
0 11 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "402 days" +"\%Y\%m\%d")
0 12 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "403 days" +"\%Y\%m\%d")
0 13 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "404 days" +"\%Y\%m\%d")
0 14 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "405 days" +"\%Y\%m\%d")
0 15 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "406 days" +"\%Y\%m\%d")
0 16 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "407 days" +"\%Y\%m\%d")
0 17 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "408 days" +"\%Y\%m\%d")
0 18 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "409 days" +"\%Y\%m\%d")
0 19 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "410 days" +"\%Y\%m\%d")
0 20 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "411 days" +"\%Y\%m\%d")
0 21 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "412 days" +"\%Y\%m\%d")

0 9 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "413 days" +"\%Y\%m\%d")
0 10 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "414 days" +"\%Y\%m\%d")
0 11 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "415 days" +"\%Y\%m\%d")
0 12 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "416 days" +"\%Y\%m\%d")
0 13 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "417 days" +"\%Y\%m\%d")
0 14 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "418 days" +"\%Y\%m\%d")
0 15 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "419 days" +"\%Y\%m\%d")
0 16 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "420 days" +"\%Y\%m\%d")
0 17 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "421 days" +"\%Y\%m\%d")
0 18 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "422 days" +"\%Y\%m\%d")
0 19 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "423 days" +"\%Y\%m\%d")
0 20 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "424 days" +"\%Y\%m\%d")
0 21 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "425 days" +"\%Y\%m\%d")

ただし、途中でSlackへの投稿が全て失敗する不具合が発生した (#63) ため、途中で停止してDBの割り当て情報をもとに戻した上で、もう一度稼働を再開した。

使用するcronの設定は以下の通り

$ crontab -l
# 1周目
# 0日後-12日後
0 9-21 17 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "$(expr $(date +"\%H") - 9) days" +"\%Y\%m\%d")

# 12日後-24日後 (稼働開始日から数えて+1日)
0 9-21 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "$(expr $(date +"\%H") + 3) days" +"\%Y\%m\%d")

# たまっている告知を処理
# 25日後-54日後 (稼働開始日から数えて+1日)
1-30 21 18 12 * /home/ec2-user/.local/bin/reikai-kouza/run_public_announce.sh $(date -d "$(expr $(date +"\%M") + 24) days" +"\%Y\%m\%d")


# 2周目
# 200日後-212日後 (稼働開始日から数えて+2日)
0 9-21 19 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "$(expr $(date +"\%H") + 191) days" +"\%Y\%m\%d")

# 212日後-224日後 (稼働開始日から数えて+3日)
0 9-21 20 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "$(expr $(date +"\%H") + 203) days" +"\%Y\%m\%d")

# たまっている告知を処理
# 225日後-254日後 (稼働開始日から数えて+3日)
1-30 21 20 12 * /home/ec2-user/.local/bin/reikai-kouza/run_public_announce.sh $(date -d "$(expr $(date +"\%M") + 224) days" +"\%Y\%m\%d")


# 3周目
# 400日後-412日後 (稼働開始日から数えて+4日)
0 9-21 21 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "$(expr $(date +"\%H") + 391) days" +"\%Y\%m\%d")

# 412日後-424日後 (稼働開始日から数えて+5日)
0 9-21 22 12 * /home/ec2-user/.local/bin/reikai-kouza/run.sh $(date -d "$(expr $(date +"\%H") + 403) days" +"\%Y\%m\%d")

# たまっている告知を処理
# 425日後-454日後 (稼働開始日から数えて+5日)
1-30 21 22 12 * /home/ec2-user/.local/bin/reikai-kouza/run_public_announce.sh $(date -d "$(expr $(date +"\%M") + 424) days" +"\%Y\%m\%d")