60 秒后阻止操作调用超时 - 如何访问结果?

2023-12-21

我正在尝试调用 Apache OpenWhisk 操作(使用 JavaScript SDK)作为远程函数。我想等待函数结果可在我的应用程序中使用。

这通常通过使用阻塞调用来处理,例如

ow.actions.invoke({name, blocking: true, result: true, params})

...但在这种情况下,该操作需要几分钟才能完成,这会导致 HTTP 连接超时。 SDK 在 60 秒后抛出错误。

如何检索耗时超过一分钟的调用的操作结果?


Apache OpenWhisk 只会在 65 秒的默认时间限制内保留阻塞调用的打开连接。该限制由平台配置 https://github.com/apache/incubator-openwhisk/blob/master/core/controller/src/main/resources/application.conf#L21(而不是以每个用户为基础)。

如果您需要调用操作并阻止等待结果(对于长时间运行的操作),则需要执行以下操作:

  • 使用非阻塞调用来调用操作。
  • 使用返回的激活标识轮询激活结果API。
  • 激活结果的 HTTP 响应将返回 HTTP 404 响应,直到操作完成。

当轮询非阻塞调用的激活结果时,您应该对允许的最大轮询时间施加限制。这是因为其他情况(例如无效的激活标识符)可能会返回 HTTP 404。强制执行时间限制可确保在应用程序代码或平台出现问题时,轮询循环最终停止!

将最大轮询时间设置为操作超时限制(加上一个小的偏移量)是一个好方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

60 秒后阻止操作调用超时 - 如何访问结果? 的相关文章

  • 部署的 Firebase 函数无法对外部 API 执行 HTTP GET? [复制]

    这个问题在这里已经有答案了 我正在尝试创建我的第一个 Google Home Action 其功能与我的 Amazon Alexa Skill 相同 此操作的工作方式是 您执行一个意图 然后调用我的代码中的一个函数 调用该函数时 它会向外部
  • 将音频与视频流合并 Node.js

    我正在创建 YouTube 视频下载器并且正在使用ytdl core库 它无法下载带有音频的高质量视频 因为 youtube 将其放在另一个文件中 但我需要将其全部下载到一个文件中 我已经这样做了 app get download asyn
  • 如何以非阻塞方式在 Node.js 中搜索数组?

    我有一个数组是 4ff023908ed2842c1265d9e4 4ff0d75c8ed2842c1266099b 我必须找出以下内容是否在该数组内 4ff0d75c8ed2842c1266099b 这是我写的 Array prototyp
  • 为什么此类方法中的“this”未定义?

    我试图搜索似乎整个互联网 但我仍然对我为微服务编写的 JS 类的问题感到烦恼 仍在学习中 因此 我尝试在实例化对象上调用类方法 根据我的知识和我的 我认为是错误的 单元测试 它应该可以工作 好吧 我将从我收到的错误开始 GET api us
  • 使用Nodejs、Express和AngularJS在浏览器中显示IP

    我正在学习 Nodejs 和 ExpressJS 我正在尝试使用 ExpressJS 和 2 个节点模块 请求IP https www npmjs com package request ip and geoip2 https www np
  • Node Sequelize - “按原样”插入日期而不转换为 UTC

    我正在尝试运行一个简单的查询 例如 Insert into table somedate values 2018 06 11 23 59 00 但 Sequelize 将其执行为 Insert into table somedate val
  • 节点:以编程方式检查包的最新版本

    我希望我的节点包 在 npm 上发布 在新版本可用时提醒用户 如何以编程方式检查已发布软件包的最新版本并将其与当前版本进行比较 Thanks 您可以结合npmview https npmjs com package npmview 用于获取
  • 检查用户是否从后端 Firebase 身份验证登录

    在我的前端 用户使用 Firebase 身份验证浏览器登录 那部分工作得很好 除了 Firebase 后端之外 我还有提供其他内容的 NodeJS 后端 但是 我需要仅向经过身份验证的用户提供内容 我的问题是 有没有办法让我的 NodeJS
  • 通过 Amazon SQS 将压缩文本从 PHP 发送到 NodeJS

    我似乎一直坚持通过 Amazon SQS 将压缩消息从 PHP 发送到 NodeJS 在 PHP 方面我有 SQS gt sendMessage Array QueueUrl gt queueUrl MessageBody gt artic
  • Mongodb 以不区分大小写的方式排序

    我在 Nodejs express 中以 mongodb 作为数据库的一个项目中非常努力地构建 当我使用 sort 获取所有数据时 它以错误的方式返回数据 那么有没有办法按照我的预期得到正确的格式 如下所示 如果我们在数据库中有三个记录 i
  • 在java中加密字符串,在node.js中解密,错误:解密失败

    我正在尝试用 java 加密一个字符串 将其发送到我的 node js 服务器 然后解密 但是 当我尝试执行此操作时 尝试解密时会不断出现错误 Java加密 String privateKey someprivatekey String d
  • 在node.js 0.12.x中使用libuv函数

    我写了一个node js c 插件 在node js 0 10 x下可以成功编译 但是当迁移到0 12 x时 出现了一些错误 例如error C2065 uv work t undeclared identifier 我想知道我是否可以在0
  • Mongoose 查询执行后回调函数从未被调用

    以下是我的代码 mongoose connect mongodb localhost mydatabase var db mongoose connection db on error console error bind console
  • 多次训练brain.js?

    在第一次训练后 如何将新信息 仅新信息 而不是所有信息 因为这会花费太多性能 训练到我的用 Brain js 制作的神经网络 它有点粗糙 但您可以使用以下结构来实现 如果我们加入 2 个训练数据集 旧数据集与新数据集 然后重新训练keepN
  • 重命名猫鼬中的字段[重复]

    这个问题在这里已经有答案了 我有两个 JSON 对象 每个对象都有一个名字字段 我想将名字重命名为名称 还想使用猫鼬将现有的名字值导入到名称 Schema const mongoose require mongoose const Sche
  • 如何强制 tsc 忽略 node_modules 文件夹?

    我正在使用 tsc 构建任务 不幸的是 我总是从节点模块文件夹中收到相同的错误 Executing task node modules bin tsc cmd watch p tsconfig json lt node modules ty
  • 如何用 JavaScript 修复图像透视变形和旋转?

    我有一些用手机拍摄的图像 有没有可以拉直纸张照片并将其压平的 JavaScript 库 例如 我想创建一个矩形图像 该图像没有任何失真 换句话说我想知道如何用 JavaScript 修复透视变形和旋转 例如 我发现下面的示例图像来自this
  • 在需要时初始化模块

    我有一个模块 里面有一些初始化代码 加载模块时应执行 init 目前我正在这样做 in the module exports init function config do it in main var mod require myModu
  • 如何让 Angular 监视多个库的更改并在需要时重新编译

    这个问题与让 Angular 应用程序监视库更改并进行自我更新 https stackoverflow com questions 60473727 make angular app watch for libraries changes
  • if(err) 抛出错误;错误:非法参数:字符串,未定义

    我现在有 module exports comparePassword function candidatePassword hash callback console log candidatePassword console log h

随机推荐

  • 在 jq 中“转置”对象

    我不确定 转置 在这里是否是正确的术语 但我希望使用jq转置一个二维对象 如下所示 name A keys k1 k2 k3 name B keys k2 k3 k4 我想把它改成 k1 A k2 A B k3 A B k4 A 我可以用以
  • UrlRewriteFilter:www 和 https 重定向

    我正在使用 Tuckey UrlRewriteFilter 强制用户转到我的网站的 www 和 https 版本 我的意思是接下来的 3 个 URL 必须重定向到https www myweb com http www myweb com
  • 当我更改路线时,Laravel ajax 搜索不起作用

    我目前面临 ajax 搜索问题 我认为这与路线有关 但我不确定出了什么问题 也许现在编码还为时过早 这有效 这不起作用
  • 将 HTML 表的 元素指定为 Marionette for Backbone.js 中的区域

    Problem Using a Backbone Marrionette Layout https github com derickbailey backbone marionette blob master docs marionett
  • Excel VBA 具有多个搜索条件并循环,直到找到所有不同的结果

    我对 VBA 非常陌生 并且截止日期非常短 因此如果我没有遵循所有论坛指南 我深表歉意 如果您能提供任何帮助 我将不胜感激 Goal 在 Sheet1 中搜索关键字 活动 站点地址 描述 所有者 估价 子类型 和 DATE B 一旦找到关键
  • 如何使用 UITableViewCell 附件复选标记取消选中所有行

    我有一个UITableView每行包含一个复选框 使用UITableViewCellAccessoryCheckmark 我不知道如何使用取消选中所有复选框didSelectRowAtIndexPath method void tableV
  • 如何通过弹出窗口获取输入并通过 javascript/jquery 将文本放入变量中

    我的页面上有一个按钮 单击时 应出现一个弹出框 允许用户输入文本 当按下 确定 提交 时 我的 jscript 将使用输入的数据执行一些功能 非常简单 但我就是不知道该怎么做 Thanks 以最简单的形式 您可以使用提示 问题 默认 摘自w
  • 使用真正的随机盐或用户名盐加胡椒进行密码哈希?

    考虑以下两种方法 hashedPassword hash trulyRandomSalt password 其中 hashedPassword 和 trueRandomSalt 存储在数据库中 hashedPassword hash app
  • 无法连接到应用程序正在侦听的 Docker 容器端口

    我想运行 Jenkins 但为了演示问题 我在 Ubuntu 15 10 中运行 netcat 服务器容器 Docker version 1 6 2 build 7c8fca2 这是我的 Dockerfile FROM ubuntu CMD
  • 使用 pandas dataframe 的内存泄漏

    我在用pandas DataFrame在多线程代码中 实际上是DataFrame called Sound 我注意到我有内存泄漏 因为我的程序的内存使用量逐渐增加超过 1000 万 最终达到计算机内存的 100 并崩溃 I used obj
  • 在 dart 中使用 source_gen 为一系列已解析文件生成一个文件

    我有一个创建迷你反射系统所需的模型列表 我分析了可序列化包并了解如何为每个文件创建一个生成的文件 但是 我找不到如何为大量文件创建一个文件 那么 如何使用 source gen 为一系列文件动态生成一个文件呢 Example Files用户
  • 使会话无效

    我有一个基于 jsp servlet 的应用程序 会话时间超过 30 分钟 我想在有人有意或无意关闭浏览器窗口时立即使会话无效 操作系统关闭 从tast管理器关闭 断电 我可以对此进行检查并使会话无效吗 无法处理这种情况 有一些浏览器提供此
  • 在 JavaScript 中将“'”替换为“”

    我的字符串是这样的 temp SE019 SR132 SC123 我使用如下函数 temp replace 但结果将是 SE019 SR132 SC123 仅删除第一个引号 我需要删除所有引号 使用正则表达式文字g 对于全局 意味着匹配al
  • 无法导入设置;不在系统路径上

    我正在尝试让 Django 使用 virtualenv 工作 我已经上线了 hello world 页面 但是 现在似乎出了问题 因为我的大多数命令都给出了有关 myProject settings 的相同错误 myenv user min
  • 如何使用 Azure 表存储选择 RowKey 范围?

    我想使用主键查询我的天蓝色表存储 另外我想检查我的 RowKey 是否在一个范围内 例如范围 02001 到 02999 有人能告诉我该怎么做吗 我了解如何用简单的方法查询 PK where fooEntiy PartitionKey pa
  • 如何在Python中配置装饰器

    我正在尝试使用 Thespian https thespianpy com doc https thespianpy com doc 一个用于演员模型的 Python 库 特别是我正在尝试使用 剧团 功能 据我了解 剧团装饰器充当调度程序
  • 合并 GitHub 帐户 - 贡献和统计数据

    我想合并我的两个 GitHub 帐户 这意味着将存储库所有权转移到一个帐户 并删除另一个帐户 根据https help github com articles transferring a repository https help git
  • 新的时间轴,如按钮行为

    在新样式的页面选项卡上 赞 按钮不再刷新页面 这打破了 Like gates 的现有工作流程 即在服务器上检查签名的请求 就像页面一样 页面刷新 繁荣 选项卡现在更新为 喜欢 状态 当用户单击新的 赞 按钮时 是否会触发任何类型的事件 或者
  • 为什么 Mongoose 不验证空文档?

    假设我有一个非常简单的模式 带有一个始终返回 false 的自定义验证函数 var MofoSchema new mongoose Schema name String MofoSchema path name validate funct
  • 60 秒后阻止操作调用超时 - 如何访问结果?

    我正在尝试调用 Apache OpenWhisk 操作 使用 JavaScript SDK 作为远程函数 我想等待函数结果可在我的应用程序中使用 这通常通过使用阻塞调用来处理 例如 ow actions invoke name blocki