0

我在 IBM Bluemix 中玩了一下 openwhisk,现在我正在寻找一种方法来安排一次性操作。

我知道我可以使用“feed /whisk.system/alarms/alarm”以“cron”方式以固定的时间间隔运行操作。我正在寻找的是类似于atlinux 命令。

我想出的最接近的涉及另一个用于生成事件的服务器,但我希望尽可能“无服务器”。

另一个不可取的解决方案是使用 js setTimeout,但是......我想这会浪费执行时间。(并且可能达到执行时间限制)

提前致谢。

4

1 回答 1

2

使用具有适当字段且maxTriggers参数设置为 1 的 cron 计划。

maxTriggers参数确保在单个事件之后不会再次调用触发器。

可以从命令行创建一次性触发器。

下面是一个触发器在 1 月 1 日 @ 00:00 运行一次的示例。

wsk trigger create new_year --feed /whisk.system/alarms/alarm
  -p cron '0 0 1 0 *' 
  -p maxTriggers 1 
  -p trigger_payload '{"message":"Happy New Year!"}'

开源存储库中有一个未解决的问题,可以为此类事件提供更好的支持。 https://github.com/apache/incubator-openwhisk-package-alarms/issues/89

于 2017-09-01T13:25:32.743 回答