2017-03-17 62 views
0

我正在使用芹菜來運行一些任務。 下面是我的芹菜任務用Python編寫的:ProxyError:無:最大重試次數超過url:http:// localhost:4000/generate-orders/get-orders

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

下面是我的節點的js代碼,上面定義的芹菜任務撥打:

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'); 
    }); 
}); 

寫在上面的代碼中,我使用節點時間表包每3分鐘後定期致電芹菜任務。

但requests.get給出了錯誤:

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

可能是什麼原因呢?

+1

您是否手動嘗試HTTP GET? – jhinghaus

+0

是的,當我從瀏覽器中打開此網址時,它可以正常工作。 – Simer

+1

...如果你嘗試從芹菜運行的機器上的命令行? – jhinghaus

回答

1

請編寫一個python腳本在機器的命令行上運行。

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

如果這也失敗了,這個http端點有問題。

+0

我已經在不同的機器上試過相同的代碼,它的工作。幾分鐘後我已經在我的系統上運行設置http_proxy = http:// your_proxy:your_port(使用我的代理IP和8080端口)命令,是否可以成爲我得到代理錯誤的原因? – Simer

+0

可以。此錯誤意味着http端點以意想不到的方式應答。可以是你的情況下的代理或防火牆或類似的東西。 – jhinghaus

相關問題