我正在开发一个项目,要求我的应用程序在用户询问时向用户支付费用。
到目前为止我是这样做的:
for
)WHERE id IN(x, y, z)
进行SQL更新请求已在此期间提出。但我需要你的帮助,我面临一个我想避免的风险问题,我会知道你会怎么做:
感谢您的帮助
注意:
4到6之间的步骤是通过PlayFramework jobs进行的,使用now()
和awaiting()
调用结果
答案 0 :(得分:2)
对于付款,不是调用作业,而是在队列(或数据库中的表)中设置付款的ID,以及每分钟运行一次的作业,如果它有一些数据则处理该表。当用户执行POST时,您将重定向到一个页面,该页面表明您正在处理付款,并会在出现问题时通知您。您可以稍后通过使用彗星或邮件的UI警告通知用户。
这样您就不会将请求链接到处理,并且您不会遇到线程/赛车问题,并且如果您执行顺序处理,则能够检测过时的请求(已完成的付款)。