超时交易/会话的最佳策略?

时间:2010-09-24 15:41:42

标签: php google-calendar-api

我正在开发一个使用Google Calendar API和PHP自动执行预订流程的网络应用程序。当用户首次选择日期时,我的脚本会在日历上创建“暂定”事件,以防止其他用户尝试选择相同的日期。但是,为了避免由于没有遵循的用户创建的暂定日期的增加,我想对交易过程施加时间限制,以便如果用户离开应用程序或花费的时间太长,暂定日期将被删除从日历中(因此可供其他用户预订)。

我们目前正在将约会存储在MySQL数据库以及Google Cal中,所以这是我当前的策略:首次创建暂定约会时,将临时约会存储在带有时间戳的数据库中。然后,安排一个cron作业(可能每小时左右)扫描数据库并根据时间戳的年龄删除暂定的预留(从db和google cal中删除它们)。

从理论上讲,这应该有效。但是,我的问题是:有没有更简单/更优雅的方式来做这个我没想到的?有没有人能更好地解决这个问题?

2 个答案:

答案 0 :(得分:1)

不确定这是否“更好”,但如果主要目标是限制混乱,您可以在给定时间段内限制暂定事件的数量,并让您的cron作业在每个时间段内删除除最新N之外的所有内容。通过这种方式,如果您突然发生暂时性事件,日历就不会被窒息,但是当活动较少时,您可以将它们保持更长时间,让人们有更大的窗口在慢速期间确认他们的预订。

答案 1 :(得分:0)

当有人试图在临时约会的同时创建约会时,请检查暂定约会是否“太旧”。如果是:删除它并创建新的。如果不是:告诉用户当时已经创建了约会。