2016-06-09 23 views
1

我想在完成後獲取有關IronWorker任務狀態的通知。 我試圖設置和傳入webhook,但無法找到任何方式來實現這一點。如何將冗餘與IronWorker任務集成以獲取其狀態

更新 我知道如何在閒置時設置傳入webhook。我正在找到一種方法在完成後由IronWorker觸發此webhook。我只是不想將請求代碼集成到我的工作代碼中。

任何幫助,將不勝感激。

回答

0

所以你想設置傳入webhook鬆弛。你想在任務完成時觸發它們。

在閒置註冊傳入webhook後,您將獲得Webhook URL。它的形式 - https://hooks.slack.com/services/SECRET/SECRET

現在我們必須對這個URL發送一個post請求以及數據。

import requests 
import json 
url = 'https://hooks.slack.com/services/SECRET/' 
payload = {'text': 'Random test',"username": "A slack bot","icon_url": "https://slack.com/img/icons/app-57.png","channel": "@abhinav_rai"} 
r = requests.post(url, data=json.dumps(payload)) 
print r.text 
print r.status_code 

以下是向webhook url發出請求的python代碼。這會將您的數據發佈到所需的頻道。

欲瞭解更多信息:訪問https://api.slack.com/incoming-webhooks或下面的評論。

1
  1. IronWorkers允許您配置UDP日誌源。他們傾向於通過此UDP提要將日誌發送給papertrailapp。如果您有ELK堆棧,請嘗試指向該堆棧。大多數日誌聚合框架已經一個檢測和通知功能,內置的。所以logentries或papertrail或ELK然後可以找一個日誌語句從你的工人像DONE和電子郵件/鬆弛/文本等通知您

  2. 如果你的員工已經安全地達到了其業務邏輯的終點,那麼假設它也可以發送一個REST請求來鬆懈自己說我完成了!而這樣的行動不會帶來額外的負擔或造成任何額外的失敗......嘗試&看到......然後分享! (a)您可以將通知任務放入「通知工作人員」隊列中作爲工作人員的最後一步...如果您想要減少由通知代碼本身導致失敗或重試的機會,

  3. 目前API不顯示的方式註冊,並獲得來自iron.io本身的工人身份通知...似乎只是基於輪詢:http://dev.iron.io/worker/reference/api/