CakePHP 3通过外部程序更新数据库

CakePHP 3通过外部程序更新数据库,cakephp,Cakephp,我的问题涉及CakePHP 3.x,以及在数据库更新时阻止所选页面和所有用户会话的问题。就我而言,该网站的数据库由外部程序更新(我对其代码有影响)。更新时间大约为40分钟,我不知道如何解决以下问题: a) 在进行更新时,我应该如何自动阻止某些选定页面?更具体地说,只有在进行数据库更新时,任何人都不能进入某些页面,例如: www.mypage/information/updateinfo www.mypage/information/updatestatus 用户可以自动重定向到“更新信息页

我的问题涉及CakePHP 3.x,以及在数据库更新时阻止所选页面和所有用户会话的问题。就我而言,该网站的数据库由外部程序更新(我对其代码有影响)。更新时间大约为40分钟,我不知道如何解决以下问题:

a) 在进行更新时,我应该如何自动阻止某些选定页面?更具体地说,只有在进行数据库更新时,任何人都不能进入某些页面,例如:

www.mypage/information/updateinfo 
www.mypage/information/updatestatus 
用户可以自动重定向到“更新信息页面”或收到其他通知

b) 如何从外部程序中“丢弃”所有登录用户并销毁网站中的所有其他会话?更新期间,由于数据库中的数据正在更改,因此无法记录任何人,也无法进行正在进行的会话。

非常简单:

  • 拥有两个应用都可以访问的表或锁文件
    • 更新时,首先从更新应用程序中删除会话数据库表中的所有条目
    • 然后设置锁文件/DB config lock条目
  • 检查锁,根据需要重定向

对于问题B的一部分,这是一个很好的答案。这应该适用于已登录的用户,但不能解决其他正在进行的会话-如果没有自动验证,它实际上会销毁所有会话,因为所有会话都是通过该DB会话表管理的。你可能想在你的问题上更精确一些。我刚刚实施了建议的解决方案,我的问题的B点得到了充分的回答