我正在使用ColdFusion和MySQL构建拍卖网站。在新西兰,主要的拍卖网站是www.trademe.co.nz。在该网站上,一旦拍卖到期,它将显示"关闭"状态,在拍卖消失前持续约一分钟。可以在MySQL或ColdFusion中运行什么样的例程,这将触发拍卖到期日期?我听说过CRON,但据我所知,这类似于在设定期间运行的ColdFusion计划任务。此外,它不适用于Windows。
但这里似乎需要的东西是实时提取拍卖已经过期的东西,而不是每分钟捕捉那些拍卖,这会错过在两次之间过期的拍卖。
希望有意义。我正在寻找一种方法或前进的方法。
答案 0 :(得分:2)
据推测,你的mySQL数据库中有一个auctionClosesAt或auctionDuration列:你可以通过cfschedule以编程方式添加一次性计划任务吗?
因此,当拍卖最初创建时,它所做的部分工作就是创建一个具有确切拍卖结束时间的cfschedule。即现在+ 7天
您必须设置正常的计划任务,以便删除过期的计划任务。
你能做到的另一种方式是只按照确切的时间间隔进行拍卖,即5/9/15/20/25等小时的分钟,然后在那些确切的时间运行任务。
答案 1 :(得分:1)
好吧,它不是真正的数据库会做到这一点,但一般来说,这是你如何处理这个:
拥有一直运行的后台进程,守护程序或服务(如果是Windows)。它基本上是一个时钟,但也会保留 UPCOMING 结束时间的队列,并在每次拍卖结束时安排事情发生。
现在,你必须能够“喂养”#34;这个服务每个结束时间。无论你有什么设置新的拍卖的结束时间需要某种方式"信号"有新的结束时间需要注意的服务。
有许多方法可以将守护进程/服务写入" listen"对于事件,以及让拍卖结束时间设定者发出这些事件以告诉服务有关它们的许多方法。如果我们覆盖那里的可能性,这个答案会变得非常长,但基本上理解你需要一个事件源(设置的结束时间)和一个事件监听器(计划在每个结束时间完成的工作)。 / p>
如果您想了解有关此问题的某些方面的详细信息,您可以随时搜索和/或发布其他问题。