2017-03-17 20 views
0

私はセラーを使用していくつかのタスクを実行しています。上記のコードで書かれたとして、私はにノード・スケジュールのパッケージを使用していますProxyError:なし:最大再試行回数がurlで超過しました:http:// localhost:4000/generate-orders/get-orders

var schedule = require('node-schedule'); 

var celery = require('../celery'), 
    client = celery.createClient({ 
     CELERY_BROKER_URL: 'amqp://guest:[email protected]:5672//' 
    }); 

client.on('error', function(err) { 
    console.log(err); 
}); 

/*client.on('connect', function() { 
    client.call('tasks.every_30_seconds'); 
});*/ 
client.on('connect', function() { 
    console.log('hi'); 
    var j = schedule.scheduleJob('*/3 * * * *', function(){ 
     console.log('Today is recognized by Rebecca Black!'); 
     client.call('tasks.getOrders'); 
    }); 
}); 

:以下

@celery.task 
def getOrders(): 
    r = requests.get('http://localhost:4000/generate-orders/get-orders') 
    print r 

定義されたセロリのタスクの上に呼び出して、私のノードのjsのコードです:以下 はPythonで書かれた私のセロリのタスクがあります3分ごとに定期的にセロリを呼び出す。

しかしrequests.getはエラーを与える:

ProxyError: None: Max retries exceeded with url: http://localhost:4000/generate-orders/get-orders

この理由何ができますか?

+1

HTTP GETを手動で試しましたか? – jhinghaus

+0

はいブラウザからこのURLをヒットしたときに動作します。 – Simer

+1

...マシン上のコマンドラインから試してみると、セロリが動いていますか? – jhinghaus

答えて

1

マシンのコマンドラインで実行するpythonスクリプトを書いてください。

import requests 
r = requests.get('http://localhost:4000/generate-orders/get-orders') 
print(r.text) 

これも失敗した場合、このhttpエンドポイントに問題があります。

+0

私は別のマシンで同じコードを試して、それは働いた。ほんの少し前に私はset http_proxy = http:// your_proxy:your_port(自分のプロキシIPと8080ポート)コマンドを自分のシステムで実行しました。 – Simer

+0

できます。このエラーは、httpエンドポイントが予期しない方法で応答することを意味します。あなたのケースやファイアウォールなどのようなプロキシでもかまいません。 – jhinghaus

関連する問題