问题标签 [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.
c# - 将 .NET 依赖项与 Iron.io IronWorker 一起使用
我是 Iron.io 的 IronWorker 的新手,我正在尝试通过 C#.NET 与之交互。我已经设法让站点上的示例正常工作,它利用了 System.Web.Script.Serialization 库。但是,我想使用 Newtonsoft.Json 库进行序列化/反序列化。我的.worker
文件(位于\bin
Visual 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 的最高稳定版本。
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 文件中设置一个环境变量,但这意味着我需要为每个环境有一个单独的工作文件并且(也许?)根据我部署到的环境将它们换掉。
phantomjs - IronWorker、CasperJS 和 cookie 支持
我使用 Ironworker 和 casperjs 完成了所有工作,但我还有一个步骤失败了:在此设置中启用 cookie 支持。
我正在使用--cookies-file=cookies.txt
参数启动 casper,并且 cookies.txt 文件使用正确的权限进行了 chmod,但是当我访问测试页面并对其进行截图时,不知何故没有 cookie 支持。
知道如何使用 IronWorker 启用此功能吗?
ghostscript - Iron.io Workers 上的 GhostScript
有谁知道如何让 GhostScript 在 Iron.io 工作人员中工作?
我正在使用带有node.js的ffmpeg堆栈,需要使用imagemagic将pdf转换为一系列jpeg,为此需要GhostScript。
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 保护的页面?
谢谢 :)
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
关于如何使这项工作的任何想法?
elasticsearch - 从工作人员更新百万文档的字段
目前,我必须更新在 elasticsearch 中索引的超过 100 万个文档中的一个字段。这是一项复杂的任务,因为该字段包含从 XML 文件生成的元数据,用于评估 xpath 表达式。我们必须遍历索引中的所有文档并更新该字段。因此,为了避免系统过度杀伤,我们决定使用 Ironworker 平台。
我已经阅读了几篇关于如何在 elasticsearch 中更新数百万个文档的文章,例如这篇文章,但是鉴于我们将使用 Ironworkers,因此存在一些限制,例如一项任务只能运行 60 分钟。
问题:
考虑到 60 分钟的限制,我如何遍历所有文档并更新其字段。
我想打开并滚动并将scroll_id传递给下一个工作人员,但我不知道执行下一个任务需要多长时间,所以滚动可能会过期,我将不得不重新开始。
python - 使用 django 在 openshift 上执行任务运行器/队列/调度
几天前我问过如何用 django 和 openshift 发送电子邮件,但我想它太宽泛了,因为它已经关闭了。
所以在这个问题中,我想知道我应该为 django 和 openshift 使用什么任务运行器/队列/调度系统。不幸的是,我还没有看到任何关于 django 和 openshift 的教程。
看起来celery太复杂,无法在 openshift 上轻松安装。
这里有几个任务 django-packages。
并且 openshift 还提供IronWorker作为市场中的调度应用程序。我试图向我的应用程序添加免费版本,但我很难设置它。
所以我的问题是,我应该在 django 和 openshift 中使用什么队列系统?你在openshift上用什么?目前我只需要发送个性化的每周电子邮件,但我的应用程序使用的 api 提供者很少,数据相对较大,所以我将来可能会更多地使用它。
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
node.js - 如何为 Ironworker (iron.io) 任务设置 NODE_ENV 变量?
有没有办法为 Ironworker 任务设置/配置 NODE_ENV?它没有在process.env
输出中设置。因此,config
模块加载config/development.json
配置文件。