任务队列设置精确/近似执行时间

发布于 2024-10-25 08:49:13 字数 56 浏览 7 评论 0原文

是否可以在 GAE 上设置以指定速率(5/s、100/h)执行的计划任务的精确或至少近似执行时间?

Is it possible to set exact or at least approximate execution time of scheduled task on GAE that will execute at rate specified (5/s, 100/h)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤寂小茶 2024-11-01 08:49:13

如果您希望某些事情在特定时间定期发生,那么您应该使用 cron。创建一个处理程序,该处理程序将生成任务并让 cron 在特定时间触发它。

如果您需要以编程方式执行此操作(即,它不够规律,无法使用 cron),那么您可以在创建任务队列任务时对其设置倒计时,以延迟任务运行。

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

请参阅任务

因此,假设您想在今天下午 5 点执行任务,您可以粗略计算一下直到您希望任务以秒为单位执行,然后将任务添加到队列中:

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

If you want something to happen regularly at a particular time, then you should use cron. Create a handler that will spawn Tasks and have cron trigger it at a certain time.

If you need to do this programatically (ie, it's not regular enough to use cron) then you can set a countdown on a Taskqueue Task when it's created to delay when the task runs.

[countdown is] Number of seconds into the future that this Task should execute, measured from time of insertion. Currently defaults to zero.

See Task

So say you wanted to execute your task at 5pm today you could calculate the rough time til you want your task to execute in seconds, then add a task to the queue:

seconds_til_start = (datetime(2011,3,22,17,00) - datetime.now()).seconds
taskqueue.add(url='/yourtask', countdown=seconds_til_start)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文