Laravel 事件激发时限制对页面的访问

Laravel 事件激发时限制对页面的访问,laravel,Laravel,我已经创建了一个预订系统,它每5分钟与谷歌日历同步一次,也会截断旧数据并从日历中获取新数据,这个过程大约需要2-3秒 我想做的是,当从Google Calendar获取数据的事件触发时,我想在这2-3秒内禁用对预订系统路线的访问,然后在事件结束时再次启用它,我想这样做,因为它会截断旧数据并获取新数据,因此,如果一个人正在查看预订系统,这2-3秒所有的预定时间都是免费的,我不希望发生这种情况 这可能吗? 谢谢和问候 好吧,我的建议是在你的用户表中创建一个新字段,比如:is_google_sync_

我已经创建了一个预订系统,它每5分钟与谷歌日历同步一次,也会截断旧数据并从日历中获取新数据,这个过程大约需要2-3秒

我想做的是,当从Google Calendar获取数据的事件触发时,我想在这2-3秒内禁用对预订系统路线的访问,然后在事件结束时再次启用它,我想这样做,因为它会截断旧数据并获取新数据,因此,如果一个人正在查看预订系统,这2-3秒所有的预定时间都是免费的,我不希望发生这种情况

这可能吗?
谢谢和问候

好吧,我的建议是在你的用户表中创建一个新字段,比如:is_google_sync_active and route middleware

然后在开始同步之前。您可以将该字段更改为true,并在新的中间件中检查是否同步。是否处于活动状态,则当同步时。结束您只需将字段的值再次更改为false。所以,每当用户试图传递到您的同步路由时,他都会传递处理所有作业的中间件


此外,如果同步失败,您可以将用户重定向到显示状态或进度的页面。正在处理。

如何与谷歌日历同步?通过使用服务器端而不是Ajax与Google同步,您可以实现您的目标。因为您可以处理同步和路由,所以可以做您想做的事情。同步发生在服务器端,我只想了解如何禁用对事件/控制器内部路由的访问。