我有一個需要處理的作業集合,http://example.com/jobs。每個作業都具有「新」,「已分配」或「已完成」的狀態。REST風格的作業分配
我希望從屬進程選取一個「新」作業,將其狀態設置爲「已分配」,然後對其進行處理。我想確保每個作業只能由一個從機處理。
我認爲讓每個奴隸做到以下幾點:
- GET http://example.com/jobs
- 接一個的 「新」,做一個HTTP PUT到http://example.com/jobs/123 { 「狀態=分配」}。
- 重複
的問題是,另一個從可能已經指派工作給自己的GET和PUT之間。我可以讓第二個PUT返回一個409(衝突),這將表示第二個奴隸嘗試一個不同的工作。
我在正確的軌道上,還是應該以不同的方式做?
這增加了複雜性,它迫使我跟蹤奴隸。 – 2010-11-08 15:24:39