2011-03-22 68 views

回答

6

如果您想在特定时间定期发生某些事情,那么您应该使用cron。创建一个处理器,它会产生任务并让cron在特定的时间触发它。

如果您需要以编程方式执行此操作(即,它不够常规,无法使用cron),那么您可以在Taskqueue任务创建时设置一个countdown,以便在任务运行时延迟。

[countdown is]此任务应执行的秒数,从插入时间开始计算。目前默认为零。

Task

所以说,你想在今天下午5点来执行你的任务,直到你想你的任务是在几秒钟内执行,然后添加一个任务到队列中,你可以计算出粗略的时间:

seconds_til_start = (datetime(2011,3,22,17,00) - datetime.now()).seconds 
taskqueue.add(url='/yourtask', countdown=seconds_til_start) 
+0

真棒,我错过了倒计时的属性。这正是我所需要的。 – 2011-03-22 13:55:20

+1

@Bojan还要注意'eta'任务,它指定了绝对时间,而不是相对时间。请记住,这些是最早的执行时间 - 您的任务将在指定时间或之后执行。 – 2011-03-23 00:59:03

+0

倒计时功能仅适用于推送队列吗?还是拉? – JK140 2017-04-29 04:25:46