我正在研究我的第一個Flask應用程序(版本0.10.1),也是我的第一個Python(版本3.5)應用程序。它的一個作品都需要這樣的工作:燒瓶JSON要求是無
- 提交表單
- 運行芹菜任務(這讓一些第三方API調用)
- 當芹菜任務的API調用完成,發送一個JSON張貼到另一個網址的應用
- 獲取通過JSON數據,並更新其數據庫記錄
這裏的芹菜任務的相關部分:
if not response['errors']: # response comes from the Salesforce API call
# do something to notify that the task was finished successfully
message = {'flask_id' : flask_id, 'sf_id' : response['id']}
message = json.dumps(message)
print('call endpoint now and update it')
res = requests.post('http://0.0.0.0:5000/transaction_result/', json=message)
而這裏的調用端點:
@app.route('/transaction_result/', methods=['POST'])
def transaction_result():
result = jsonify(request.get_json(force=True))
print(result.flask_id)
return result.flask_id
到目前爲止,我只是想獲取數據並打印ID,我會擔心以後的數據庫。
我得到不過的錯誤是這樣的:requests.exceptions.ConnectionError: None: Max retries exceeded with url: /transaction_result/ (Caused by None)
我讀表明我的數據可能不會過來的JSON,因此隊的結果= TRUE,但即使這似乎並沒有工作。我也嘗試在CocoaRestClient中使用application/json的Content-Type頭進行相同的請求,並得到相同的結果。
因爲這兩個嘗試都破壞了,所以我不知道我的問題是在請求中還是試圖解析響應。
非常感謝。我不確定我以前是否嘗試過這種方式,但仍然會收到'requests.exceptions.ConnectionError:無:最大重試次數超過url:/ transaction_result /(由無引起)'錯誤,即使Celery任務能夠正確打印JSON。 –
@JonathanStegall,嘗試將IP地址從0.0.0.0更改爲127.0.0.1或您的真實地址(如果有的話)。使用REST客戶端的結果是什麼? –
它似乎終於有一次,我嘗試了一個測試Heroku的URL。也許我的本地版本有問題,因爲它不適用於localhost或127.0.0.1。 你想把它作爲答案,我可以接受嗎? –