我使用
Java Servlet实现了一个Web服务.
我得到以下设置:
有一个处理“工作”条目的数据库.每个作业都有“执行”或“排队”或“完成”的状态.如果用户启动新作业,则在数据库中创建一个作业,状态为“队列”中的条目.
只有执行少于5个其他作业时,才能执行该作业.如果还有其他五个已经执行状态需要保留在队列中,并且Cronjob稍后将处理此作业的执行.
现在我只是想知道,如果现在执行的工作不到五个,我的脚本将执行这个工作.但是如果同时在我的脚本询问数据库中执行了多少个作业和脚本开始执行作业的同时,另一个用户的另一个请求就会创建一个作业,并且还会得到“四个执行作业”数据库.
那么会有一个比赛条件,6个工作将被执行.
如何防止这样的事情?
任何建议?非常非常感谢你!