【问题标题】:How Do I Stop a Delayed Task on Appengine?如何停止 Appengine 上的延迟任务?
【发布时间】:2023-03-13 21:41:01
【问题描述】:

我使用延迟包启动了一个任务

唯一的问题是任务失败(糟糕!)并且不断地尝试它。我知道 RetryCount 字段,但我想自己强制终止任务。

有人知道怎么做吗?

【问题讨论】:

  • 您可以在管理界面 IIRC 中进行操作。
  • 对于命名队列我可以,但看起来延迟队列对管理员隐藏
  • 我记得 Google Groups 上的 GAE 邮件列表上有类似的问题。检查那里。

标签: google-app-engine go


【解决方案1】:

以下来自 App Engine 文档的示例表明,您通过 delay.Function#Call 创建的所有延迟任务都应该进入 default 队列,因此可以通过管理界面删除。如果不是,我会称之为错误。

事实上,我们的延迟任务进入了default队列,我们​​可以通过管理界面删除它们。

https://developers.google.com/appengine/docs/go/taskqueue/delay#Function.Call

func (f *Function) Call(c appengine.Context, args ...interface{})

调用调用延迟函数。

f.Call(c, ...)

等价于

t, _ := f.Task(...) taskqueue.Add(c, t, "")

https://developers.google.com/appengine/docs/go/taskqueue/reference#Add

func Add(c appengine.Context, task *Task, queueName string) (*Task, error)

Add 将任务添加到命名队列。空队列名称意味着将使用默认队列。 Add 返回一个填充了默认值的等效任务,包括将任务的名称字段设置为所选名称(如果原始名称为空)。

【讨论】:

    猜你喜欢
    • 2013-11-11
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 2015-07-20
    相关资源
    最近更新 更多