【发布时间】:2016-11-07 21:41:59
【问题描述】:
Google 应用引擎拉取队列是否按照到达时间的 FIFO 顺序返回任务?
我在拉取队列文档中阅读了以下内容:
“API 按最旧任务 ETA 的顺序返回指定数量的任务。”
ETA = "预计到达时间",在这种情况下我并不完全理解。
我正在尝试使用 python 按照它们在队列中的到达时间顺序获取任务。
【问题讨论】:
Google 应用引擎拉取队列是否按照到达时间的 FIFO 顺序返回任务?
我在拉取队列文档中阅读了以下内容:
“API 按最旧任务 ETA 的顺序返回指定数量的任务。”
ETA = "预计到达时间",在这种情况下我并不完全理解。
我正在尝试使用 python 按照它们在队列中的到达时间顺序获取任务。
【问题讨论】:
队列中的每个任务都有一个 ETA,默认设置为任务入队的时间。但是将来(甚至在过去)有可能使用 ETA 将任务排入队列。来自google.appengine.api.taskqueue package,介于taskqueue.add() 参数之间:
倒计时 -- 该任务应该运行或租用的未来时间(以秒为单位)。默认为零。如果不指定此参数 你指定了一个 eta。
eta -- 一个 datetime.datetime,它指定任务应该运行的绝对最早时间。您不能指定此参数,如果 指定倒计时参数。这个论点可以是时间 zone-aware 或 time zone-naive,或设置为过去的时间。如果 参数设置为无,默认值为现在。对于拉任务,没有 工人可以在 eta 指示的时间之前租用任务 论据。
只要您在入队任务时不使用这些参数覆盖默认 ETA,它们就会按 FIFO 顺序拉取。
【讨论】: