1
我在烹飪書中定義了以下兩個資源,它們發出HTTP請求。我基本上需要根據action 1
的結果檢查條件執行action 2
。如果來自action 1
的條件不匹配,我需要食譜睡眠一段時間,然後再次嘗試action 1
。有條件地執行資源
什麼是最好的方法/方法來做到這一點?
webhooks_request "Action 1" do
uri "example.net/data1"
post_data ({ 'value1' => '1', 'value2' => '2'})
expected_response_codes [ 200, 201 ]
action :post
end
我使用以下ruby_block
處理來自action 1
所以我想它應該是可能的,然後基於匹配的條件執行action 2
結果。
ruby_block "Parse Response" do
#Parse the result from action 1
end
webhooks_request "Action 2" do
uri "example.net/data2"
post_data ({ 'value1' => '1', 'value2' => '2'})
expected_response_codes [ 200, 201 ]
action :post
end
非常感謝 - 我要試試這個\ – user1513388 2015-03-09 22:05:12
我想補充,如果你想跳過#2如果第1超時,然後把'not_if {node.runstate ['my_hook'] ['retries'] <0}'(你可能必須把它包裝在一個懶惰的塊中。 – 2015-03-10 05:27:02
@TejayCardon我可能是錯的沒有測試過),但是我的最後一行代碼塊會返回true或false,而且如果ruby_block返回false,那麼IIRC(但確實不確定)通知不應該被激怒(我必須測試這個來確認這種行爲) – Tensibai 2015-03-10 09:29:18