koudenpaのブログ

趣味のブログです。株式会社はてなでWebアプリケーションエンジニアをやっています。職業柄IT関連の記事が多いと思います。

気になったことは興味が満たされるまで追いかける

タイトルの通り、日ごろから何か気になったことがあったら、特にそれがITに関するものの場合は興味が満たされるまでは追いかけて、物事の引き出しにするようにしている。

仮に週に1回そういうことをすれば、年に50個くらいの引き出しが増える。引き出しが増えるたびに自分は『一つ賢くなった』と思うようにしている。

世の中どんな引き出しの中身が役に立つのかは分からないので、これはそれなりの強みになっている。はずだ。

この記事はそんな興味を満たした1例である。

出来事

Bitbucket上のイベントをChatWorkに通知しているのだが、こんなログが発生した。

f:id:koudenpa:20181017002449p:plain

Pipelinesのビルド開始通知から、完了通知まで1時間以上の間が空いている。何故だ?

事前情報

  • 通知の流れ
    1. Bitbucketでイベント発生
    2. BitbucketのWebhookがPHPのプロキシスクリプトを呼び出す
    3. PHPのプロキシスクリプトが同期的にChatWorkのメッセージ送信APIを呼び出す
    4. 結果として通知部屋に通知される
  • 平常時のビルド時間は精々数分

興味を満たす過程

  1. 実際のビルド時間を確認
    • 特に遅延無し(12:13 amとは……)
    • f:id:koudenpa:20181017003840p:plain
  2. Webhookのログを確認
    • おや? ビルド完了(一見そうは見えない紛らわしいタイトルだが)イベントの時刻が……?
    • f:id:koudenpa:20181017004913p:plain

興味を満たした結果

BitbucketのWebhook、CharWorkのAPI、どちらかが遅延したのだろう、と思っていたのだけれど、BitbucketのWebhookの方のようだった。

それにしても、12:14頃+4分頃のイベントの通知がしれっと1時間以上遅れて正常終了しているのはどうしたものか。

そういうこともある。と一つ賢くなった。