【问题标题】:Openwhisk: request has not yet finishedOpenwhisk:请求尚未完成
【发布时间】:2018-09-11 16:24:39
【问题描述】:

我有一个分布式 Openwhisk 设置,当我像这样同时执行大量函数时

wsk -i action invoke test -r -b

在某些时候,我没有得到实际结果,而是开始收到以下消息:

ok: 调用了/_/test,但是请求还没有完成,带有id

知道如何强制 Openwhisk 执行该函数并仍然返回结果,而不管调用实际需要多长时间?是否有一些剧本变量负责超时?

【问题讨论】:

  • 是:增加更多容量。如果您说系统超载,那么请求将排队。 HTTP 请求在 60 秒后终止。您可以更改终止的超时时间,但这样您会更长时间地持有更多资源,并且也会耗尽这些资源。
  • 这回答了我的问题:stackoverflow.com/a/56144600/2873507

标签: serverless openwhisk


【解决方案1】:

您可以在非阻塞模式下执行函数。在这种情况下,您将立即获得激活 ID,并且功能执行将在后台发生。然后,您可以使用激活 ID 检查/跟踪函数执行的状态。

从命令中删除“-b”选项。

另外,函数执行超时是可配置的(默认60s),如果函数执行需要更多时间来执行,您可以在创建函数时定义它。

对于每个功能限制,您可以在创建功能时指定以下设置。

-t, --timeout LIMIT          the timeout LIMIT in milliseconds after which the action is terminated (default 60000)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多