CakePHP 3通过外部程序

时间:2017-11-20 13:08:52

标签: cakephp

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

a)在更新过程中,我应该如何自动阻止某些选定的页面?更具体地说,只有在进行数据库更新时,没有人应该能够输入一些页面,例如:

www.mypage/information/updateinfo 
www.mypage/information/updatestatus 

用户可以自动重定向到“更新信息页面”或以其他方式通知。

b)外部程序如何“抛弃”所有登录用户并销毁网站中的所有其他会话?在更新期间,没有人可以被记录,没有人可以拥有正在进行的会话,因为数据库中的数据正在被更改。

1 个答案:

答案 0 :(得分:1)

非常简单:

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