我正在尝试将Google脚本连接到IronWorker脚本。
现在,我只是想得到一个“你好,世界”级别的例子来发挥作用。
我的最终目标是将数据从谷歌电子表格传递到IronWorker进行处理。
现在,我只想成功地发布到一个IronWorker。下面是Google脚本函数:
function myFunction() {
var arr = { "first" : "Chris", "last" : "Cruz" };
var url = 'https://worker-aws-us-east1.iron.io/2/projects/55c4f983e68185000600002b/tasks/webhook?code_name=hello-world-worker%3A%3Abuilder&oauth=mpPgu7iB0rT80iQ0mpCnCcy3nYE';
var options =
{
"method" : "post",
"data" : JSON.stringify(arr)
}
var response = UrlFetchApp.fetch(url, options);
Logger.log(response);
}当我签入'Hello,world»Workers»hello-world-worker::builder»Task #.10b44日志‘时,我看到得到了这个错误输出:
Successfully installed net-http-persistent-2.9.4
Successfully installed netrc-0.10.3
Successfully installed rest-3.0.6
Successfully installed iron_core-1.0.9
Successfully installed bundler-1.10.6
Successfully installed rubyzip-1.1.7
Successfully installed iron_worker_ng-1.6.6
7 gems installed
/usr/lib/ruby/1.9.1/json/common.rb:148:in `initialize': can't convert nil into String (TypeError)
from /usr/lib/ruby/1.9.1/json/common.rb:148:in `new'
from /usr/lib/ruby/1.9.1/json/common.rb:148:in `parse'
from /mnt/task/__builder__.rb:47:in `<top (required)>'
from /usr/local/lib/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/lib/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from __runner__.rb:224:in `<main>'我不知道从哪里调用错误,所以我不知道从哪里开始调试。我运行的是rubyVersion2.0,我确实看到了这个StackOverflow问题:When will IronWorkers support Ruby 2.0?
我不确定它是否相关,但错误输出表明这是一个红宝石问题。
任何想法都将不胜感激,谢谢!
发布于 2015-08-24 23:17:24
用::builder定位的工人是“特殊”的。他们为您远程构建工作代码包(在IronWorker上)。当您将remote指令放入.worker文件时,就会发生这种情况。实际工作人员名为hello-world-worker。因此,您的web钩子URL必须如下所示:
'https://worker-aws-us-east1.iron.io/2/projects/55c4f983e68185000600002b/tasks/webhook?code_name=hello-world-worker&oauth=<TOKEN>'用实际的令牌替换<TOKEN>。由于您共享当前令牌,我建议您删除它并生成新令牌。您可以在HUD的右上角单击您的名字,然后单击“menu”菜单项。
https://stackoverflow.com/questions/32192823
复制相似问题