我正在亚马逊FPS上开发应用程序。当您使用FPS付款时,付款会异步成功:您提出请求并等待POST(即时付款通知),通知您是否已完成收费。
我需要用户查看下一页加载完成的费用(如果可能),所以我有服务器:
同时,另一个服务器进程是:
我和3名工人一起经营独角兽。他们都登录到同一个终端窗口。我看到第一个过程开始旋转,反复报告说充电仍然悬而未决。然后我看到IPN进来了,第二个进程选择它并写入数据库它已成功。然后我看到第一个进程继续看到它正在等待。
为什么它永远不会看到写入数据库的成功价值?
我感觉像是一个交易问题,所以我运行了一个单独的流程,循环并输出最新费用的状态。当第二个过程报告它标记了收费成功时,第三个独立过程同意了。这只是第一个无法看到更新值的服务器进程。
据我所知,第一个进程中的循环不在事务中,因此它不应该读取旧快照。但也许是这样?我怎么说?
我的筹码: