1

nodejs インスタンスを使用して OpenShift クラウド サーバーを試しています。oneSignal API に対して POST リクエストを実行しようとしています。

POST は成功しますが、oneSignal は 1 つの POST に対して 4 つの通知を送信します。

ローカル マシンで次のコードを実行すると 1 つの通知を受け取りますが、コードが OpenShift にデプロイされると 4 つの通知を受け取るため、OpenShift サーバーに問題があることを突き止めたと思います。

以下はテストコードです。

var request = require('request');

function sendNotification() { 
    var data = {};
    data.headings = {"en": "Trial Push Heading"}
    data.contents = {"en": "Trial Push Contents"};

    data.app_id = MY_APP_ID;
    data.included_segments = ["All"];


    var headers = {
        "Content-Type": "application/json",
        "Authorization": "Basic "+ MY_AUTH_KEY
    };

    var options = {
        url: "https://onesignal.com/api/v1/notifications",
        method: "POST",
        headers: headers,
        json: data
    }; 

    request(options, function (error, response, body) {
      if (!error && response.statusCode == 200) {
        console.log(body) // Print the shortened url.
      }
    });


};
4

1 に答える 1

1

良い...

自分の質問に答える..

OpenShift は start.js からコードを初期化します。

Start.js はノード クラスタリングを実装し、 app.js の 4 つのインスタンスを作成します。これにより、複数の投稿リクエストが発生しています。

于 2016-08-10T15:07:53.093 に答える