我可以在openwhisk中安排一次性动作吗?

时间:2017-08-26 17:35:58

标签: javascript ibm-cloud serverless-framework openwhisk

我在IBM Bluemix中使用openwhisk玩了一下,现在我正在寻找一种方法来实现一次性行动。

我知道我可以按照固定的时间间隔,在一个" cron"时尚使用&feed; /whisk.system/alarms/alarm'。我正在寻找的是类似于at linux命令。

我认为最接近的是另一台用于生成事件的服务器,但我希望成为无服务器"尽可能。

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

提前致谢。

1 个答案:

答案 0 :(得分:2)

使用包含相应字段的cron计划,并将maxTriggers参数设置为1.

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