I want to have multiple processes accessing multiple replicated servers. I want a process to be able to pull a waiting task out of the db. I don't want two processes to start work on the same task.
Can someone suggest a design pattern to do this? The algorithms I can think of are pretty messy and hard to prove are reliable. If I loosen the requirements so that two can start and then one is aborted, the problem is easier but I would like to avoid that. Also I don't think it makes provability any easier.
