質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

Elastic Load Balancing

Elastic Load Balancingは、Amazon社が提供する、 EC2インスタンス間で自動的にトラフィックの負荷分散を行うサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

1回答

1745閲覧

FaceBookのチャットボットをEC2で動かしたらステイタスコード100がでてしまう問題について

11.18772013

総合スコア8

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

Elastic Load Balancing

Elastic Load Balancingは、Amazon社が提供する、 EC2インスタンス間で自動的にトラフィックの負荷分散を行うサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2017/02/03 06:51

編集2022/01/12 10:55

前提・実現したいこと

AWSのEC2にて現在、node.jsで書いたチャットボットのアプリケーションを動かしていまして、動きはするのですが、とても遅く、時々挙動が止まってしまうようなことがあります。
目立ったエラーはないのですが、ステイタスコード100がでしまいまして、そいつが挙動を遅らせていると思います。
またもう一つ気になることがあります。
現在EC2ではチャットボットのアプリとbitbucketから自動的にデプロイできるようにするために、bitbucket-syncというphpで書かれたアプリケーションを動かしています。
ポートはそれぞれ5000,3000で動かしています。

そしてどちらも再起動を自動的にするためにsupervisorでデーモン化しています。

その中のbitbucketに自動的にデプロイするアプリ側でEC2のELBでヘルスチェックが通っているにも関わらず、エラーログを見ると時々200から401に変わっていまうことがあります。
AWSコンソール上ではヘルスチェックは合格しています。

これもまた挙動を遅くしている原因だと思います。

ちなみにec2ではなくherokuでやると挙動に問題はありません。

こちらどのように解決できるかもし、分かる方がいましたら何卒回答よろしくお願いいたします。。

ログ
下記が100のエラーログです。(app.log)
Error: { message: '(#100) No matching user found',
type: 'OAuthException',
code: 100,
error_subcode: 2018001,
fbtrace_id: 'Cjq4Mr4GaYG' }

またこのようにbitubucketを自動デプロイするアプリ側でヘルスチェックが不安定になってしまっています。(bitbucket.log)
[Fri Feb 3 15:31:15 2017] 172.31.16.95:18885 [401]: /
[Fri Feb 3 15:31:20 2017] 172.31.3.41:46466 [401]: /
[Fri Feb 3 15:31:20 2017] 172.31.3.41:46490 [200]: /health.js
[Fri Feb 3 15:31:23 2017] 172.31.16.95:18915 [200]: /health.js
[Fri Feb 3 15:31:24 2017] 172.31.3.41:46494 [401]: /
[Fri Feb 3 15:31:28 2017] 172.31.16.95:18917 [401]: /
[Fri Feb 3 15:31:50 2017] 172.31.3.41:46516 [200]: /health.js
[Fri Feb 3 15:31:53 2017] 172.31.16.95:18943 [200]: /health.js
[Fri Feb 3 15:32:20 2017] 172.31.3.41:46546 [200]: /health.js
[Fri Feb 3 15:32:23 2017] 172.31.16.95:18969 [200]: /health.js
[Fri Feb 3 15:32:50 2017] 172.31.3.41:46572 [200]: /health.js
[Fri Feb 3 15:32:53 2017] 172.31.16.95:18995 [200]: /health.js
[Fri Feb 3 15:33:20 2017] 172.31.3.41:46602 [200]: /health.js
[Fri Feb 3 15:33:23 2017] 172.31.16.95:19017 [200]: /health.js
[Fri Feb 3 15:33:50 2017] 172.31.3.41:46628 [200]: /health.js
[Fri Feb 3 15:33:53 2017] 172.31.16.95:19047 [200]: /health.js
[Fri Feb 3 15:34:01 2017] 172.31.16.95:19049 [401]: /
[Fri Feb 3 15:34:10 2017] 172.31.3.41:46638 [401]: /
[Fri Feb 3 15:34:14 2017] 172.31.16.95:19055 [401]: /
[Fri Feb 3 15:34:20 2017] 172.31.3.41:46662 [200]: /health.js
[Fri Feb 3 15:34:23 2017] 172.31.16.95:19079 [200]: /health.js

試したこと

ヘルスチェックで/health.jsに対してヘルスチェックを行うように設定し、
本番app、bitbucket-syncのルート直下にhealth.jsを設置してみたところ、
ヘルスチェックはどちらも通っているのですが、200から401になったりと挙動が不安定です。

何卒ご回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

チャットボットはどのような接続を受けつけ、どのような挙動をしていますか?
ステータスコード100を返しているのはチャットボットですか?

投稿2017/02/03 07:46

moonphase

総合スコア6621

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

11.18772013

2017/02/03 12:49

回答ありがとうございます! チャットボットはテキストは返すのですが、別のアクション、例えばボタンなどを押すと「もう一度実行して下さい」というアラートが出てきてしまいます、 また100を返しているのはFacebookだと思われます。
moonphase

2017/02/07 23:39

ヘルスチェックURIは /health.js ですか? / ですか? 前者が正しいように思えますが、後者のアクセスは何故発生しているのでしょう。
11.18772013

2017/02/08 07:30

あ!すみませんそれはおそらくFBがアクセスしているものだと思います! またこの現象はFacebookのチャットボットプラットフォームの問題でした! FBチャットボットのページによってはサーバーと接続できなくなるようでした。 ご回答いただきありがとうございます! https://developers.facebook.com/bugs/1825253057751227
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問