我有一个需要处理的作业集合,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