问题标签 [ironworker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
227 浏览

c# - 将 .NET 依赖项与 Iron.io IronWorker 一起使用

我是 Iron.io 的 IronWorker 的新手,我正在尝试通过 C#.NET 与之交互。我已经设法让站点上的示例正常工作,它利用了 System.Web.Script.Serialization 库。但是,我想使用 Newtonsoft.Json 库进行序列化/反序列化。我的.worker文件(位于\binVisual Studio 项目的目录中)如下所示:

我相当肯定 Newtonsoft.Json 正在加载,因为添加第 3 行file: 'Debug\Netwonsoft.Json.dll'修复了表示无法找到 Newtonsoft 的错误。

我在尝试运行任务时收到的错误如下(我删除了所有看似敏感的信息):

在跟踪错误的过程中:Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'Newtonsoft.Json'我遇到了一个SO 线程,该线程表明 v4.0 和 v4.5 之间可能存在 .NET 框架不匹配。我正在使用 v4.5,我尝试将其更改为 v4.0,但没有成功(所以这可能不是问题)。

有人可以为我指出如何正确利用依赖项的正确方向,例如Newtonsoft.Json(至少 Iron.io 上的示例可以工作)?

PS 我一直在玩弄 IronSharp作为 API 来协助与 Iron.io 产品的接口(一旦我解决了这个依赖问题)。但是,如果有更好的建议我应该检查一下,我愿意接受建议。

解决方案

@Fealion 在下面的回答确实很有帮助,因为他将我指向了stack我这样放置的命令:

我相信它解决了手头的错误,因为更高版本的单声道框架似乎可以处理最新版本的 Newtwonsoft.Json.dll。如果我发现其他情况,我会在这里发布。

请注意,截至 2014 年 11 月 17 日,IronWorker 支持的最高堆栈版本似乎是 3.6(即使 3.10 可用,详情可在此处找到)。在此链接中查看 Iron.io 的最高稳定版本。

0 投票
1 回答
291 浏览

environment-variables - 为铁工设置环境类型

正在研究使用 IronWorker 来运行一些常见服务,但是我想知道是否有一种方法可以在 worker 本身中知道它在什么环境下运行。例如,在我们的主代码库中,我们将服务器 var ENV 设置为“开发”、“暂存”或“生产”之一。基于这个变量,我们的应用程序知道要加载哪些配置文件(通过 dirs config/development、config/staging 和 config/production 中的配置文件)。我想为工人设置类似的设置。

我注意到,当我通过 cli 上传工作人员时,我可以执行以下操作:

iron_worker 上传workers/example/hello_world --env staging

这允许我拥有一个 Iron.json 配置文件,其中包含 dev、staging 和 production 密钥。例如,

但是,在工作人员本身中,我无法从 cli 访问 env var,因此当工作人员需要加载某些配置变量时,它不知道要查看哪个目录。

在此处的文档中http://dev.iron.io/worker/reference/dotworker/他们表明您可以在 .worker 文件中设置一个环境变量,但这意味着我需要为每个环境有一个单独的工作文件并且(也许?)根据我部署到的环境将它们换掉。

0 投票
1 回答
190 浏览

phantomjs - IronWorker、CasperJS 和 cookie 支持

我使用 Ironworker 和 casperjs 完成了所有工作,但我还有一个步骤失败了:在此设置中启用 cookie 支持。

我正在使用--cookies-file=cookies.txt参数启动 casper,并且 cookies.txt 文件使用正确的权限进行了 chmod,但是当我访问测试页面并对其进行截图时,不知何故没有 cookie 支持。

知道如何使用 IronWorker 启用此功能吗?

0 投票
1 回答
63 浏览

ghostscript - Iron.io Workers 上的 GhostScript

有谁知道如何让 GhostScript 在 Iron.io 工作人员中工作?

我正在使用带有node.js的ffmpeg堆栈,需要使用imagemagic将pdf转换为一系列jpeg,为此需要GhostScript。

0 投票
1 回答
172 浏览

ssl - CasperJS 和 IronWorker:无法识别的选项 `--ssl-protocol=any'

我刚刚开始搞乱 CasperJS 和 IronWorker 并且在尝试将工作人员排队时首先被此错误阻止:

./run.sh: 2: ./run.sh: casperjs/bin/casperjs: Permission denied

此问题已在此处记录并解决: Permission denied when run casperjs in iron.io

但是chmod +x当我需要使用选项启动 casperjs 时使用不起作用:

chmod +x casperjs/bin/casperjs example.js --ssl-protocol=any

结果 : chmod: unrecognized option '--ssl-protocol=any'获取更多信息。

是否不可能在 IronWorker 中将选项传递给 CasperJS ?如果是这样,是否有另一种方法可以打开具有 SSL 保护的页面?

谢谢 :)

0 投票
0 回答
132 浏览

ruby - 如何将 Iron Worker 有效负载(即参数)传递给 CasperJS 二进制文件?

Iron Worker 是一个很棒的工具,但是它的文档中仍然存在一些漏洞......

我已经成功地使用 CasperJS 设置了一个工人,由 Iron Worker ruby​​ gem 调用。但是,当 gem 使用参数调用 worker 时(传递“有效负载”选项),无法在 js 脚本中检索它们。

有一篇关于此主题的文章,但仅适用于 PhantomJS:http://giuseppeaiello.com/post/56318356914/phantomjs-ironworker

并尝试使用本机 CasperJS 方法打印所有选项和 args 不会输出任何内容... http://casperjs.readthedocs.org/en/latest/cli.html

关于如何使这项工作的任何想法?

0 投票
1 回答
390 浏览

elasticsearch - 从工作人员更新百万文档的字段

目前,我必须更新在 elasticsearch 中索引的超过 100 万个文档中的一个字段。这是一项复杂的任务,因为该字段包含从 XML 文件生成的元数据,用于评估 xpath 表达式。我们必须遍历索引中的所有文档并更新该字段。因此,为了避免系统过度杀伤,我们决定使用 Ironworker 平台。
我已经阅读了几篇关于如何在 elasticsearch 中更新数百万个文档的文章,例如这篇文章,但是鉴于我们将使用 Ironworkers,因此存在一些限制,例如一项任务只能运行 60 分钟。

问题: 考虑到 60 分钟的限制,我如何遍历所有文档并更新其字段。
我想打开并滚动并将scroll_id传递给下一个工作人员,但我不知道执行下一个任务需要多长时间,所以滚动可能会过期,我将不得不重新开始。

0 投票
1 回答
156 浏览

python - 使用 django 在 openshift 上执行任务运行器/队列/调度

几天前我问过如何用 django 和 openshift 发送电子邮件,但我想它太宽泛了,因为它已经关闭了。
所以在这个问题中,我想知道我应该为 django 和 openshift 使用什么任务运行器/队列/调度系统。不幸的是,我还没有看到任何关于 django 和 openshift 的教程。
看起来celery太复杂,无法在 openshift 上轻松安装。
这里有几个任务 django-packages
并且 openshift 还提供IronWorker作为市场中的调度应用程序。我试图向我的应用程序添加免费版本,但我很难设置它。

所以我的问题是,我应该在 django 和 openshift 中使用什么队列系统?你在openshift上用什么?目前我只需要发送个性化的每周电子邮件,但我的应用程序使用的 api 提供者很少,数据相对较大,所以我将来可能会更多地使用它。

0 投票
1 回答
59 浏览

database - IronWorker 没有插入我的数据库

如何将 Iron.io 连接到我的UserController.php?我正在使用app/views.

我的代码在app/views/iron/hello_worker.php

我已经让它工作了,但它在 Iron.io 仪表板中有错误PHP Fatal error: Class 'Tests' not found in /mnt/task/hello_worker.php on line 8

0 投票
2 回答
133 浏览

node.js - 如何为 Ironworker (iron.io) 任务设置 NODE_ENV 变量?

有没有办法为 Ironworker 任务设置/配置 NODE_ENV?它没有在process.env输出中设置。因此,config模块加载config/development.json配置文件。