最近そういうことを社内で何回か書いたのでメモ 前提 なぜ重複投稿されるか? 重複実行対策 1. 実行内容を一定時間キャッシュする 2. 排他ロックをする 3. サーバ側での並列処理を捨てる 前提 Slackには特定のイベントが発生した時に任意のwebhookにリクエストを飛ばすことができます。 具体的には下記のような使い方ができます sue445.hatenablog.com しかし普通にやると1回しかemojiを登録してないのにSlackに何回も投稿されて困ることがありました なぜ重複投稿されるか? 公式ドキュメントを見つけきれてないので推測ですが、そういう仕様な気がしてます。 (Herokuだとdyno起動に時間がかかる時に重複リクエストになりやすい傾向があったけど、GASやLambdaでも同じことになる) 重複実行対策 Heroku + sinatra + puma構成の場合下記を行
![Slackからのリクエストを処理するwebhookを1回だけ実行したい - くりにっき](https://cdn-ak-scissors.b.st-hatena.com/image/square/34316828dbeeaf2502a90b7db99f533354785f32/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fs%2Fsue445%2F20191017%2F20191017143638.png)