创建一个计划任务,根据库存项目的保留时间取消保留库存项目
Create a scheduled task that unreserves stock items based on how long ago they were reserved
在我当前工作的网站上,我们希望在用户 adding/removing 将商品放入购物篮后保留购物篮中的所有商品。
此时如果用户在设定的时间段后没有进一步增加或减少他的篮子,物品将被取消保留。
我知道这可以通过为每个库存数量提供上次保留时间(上次更新购物篮的时间)并在每次更新购物篮时刷新该时间来实现。
然后设置一个非常分钟的计划任务,遍历所有库存数量,如果它们超过 X 旧,它们可以取消保留并重新添加到主要库存中。
这是实现此目的的最佳方法还是有比计划任务更优雅的解决方案。
我正在使用 MVC 和 Azure 进行托管(它有一个任务调度程序,我还没有探索它是否可以执行此类任务)
如果您使用您的库存数量 DateTime 值作为标志,并在您的库存选择过滤器中放置一个 DateAdd(...) 以允许已经过时的商品重新进入您的结果您不需要创建删除 DateTime 值的计划任务。查询性能会有所取舍,因为它稍微复杂一些,但移动部分越少,您的方法就越不复杂,因此可支持的方法也就越多。
实施了我认为可行的解决方案(给每个项目一个 "Last Modified" 字段,然后使用 azure task scheduler,运行 一个处理所有日期时间在某个 运行ge.)
似乎工作正常。
在我当前工作的网站上,我们希望在用户 adding/removing 将商品放入购物篮后保留购物篮中的所有商品。
此时如果用户在设定的时间段后没有进一步增加或减少他的篮子,物品将被取消保留。
我知道这可以通过为每个库存数量提供上次保留时间(上次更新购物篮的时间)并在每次更新购物篮时刷新该时间来实现。
然后设置一个非常分钟的计划任务,遍历所有库存数量,如果它们超过 X 旧,它们可以取消保留并重新添加到主要库存中。
这是实现此目的的最佳方法还是有比计划任务更优雅的解决方案。
我正在使用 MVC 和 Azure 进行托管(它有一个任务调度程序,我还没有探索它是否可以执行此类任务)
如果您使用您的库存数量 DateTime 值作为标志,并在您的库存选择过滤器中放置一个 DateAdd(...) 以允许已经过时的商品重新进入您的结果您不需要创建删除 DateTime 值的计划任务。查询性能会有所取舍,因为它稍微复杂一些,但移动部分越少,您的方法就越不复杂,因此可支持的方法也就越多。
实施了我认为可行的解决方案(给每个项目一个 "Last Modified" 字段,然后使用 azure task scheduler,运行 一个处理所有日期时间在某个 运行ge.)
似乎工作正常。