问题标签 [goliath]

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 投票
4 回答
5615 浏览

ruby - 使用 postgresql gem 异步

我正在使用Goliath(由 eventmachine 提供支持)和 postgres gem pg,目前我正在以阻塞方式使用 pg gem:(conn.exec('SELECT * FROM products')例如)我想知道是否有更好的方法来连接到 postgres数据库?

0 投票
2 回答
1290 浏览

ruby - 建议在 Goliath 中使用 Redis 驱动程序?

似乎有几个选项可以建立 Redis 连接以在 EventMachine 中使用,我很难理解它们之间的核心差异。

我的目标是在Goliath中实现 Redis

我现在建立连接的方式是通过em-synchrony

以上和使用类似em-hiredis 有什么区别?

如果我将 Redis 用于集合和基本键:值存储,那么em-redis是我的方案的最佳解决方案吗?

0 投票
1 回答
530 浏览

ruby - 使用 Goliath 进行异步 Web 处理

我需要一个简单的网络服务器来解析它接收到的 url,调用其他一些 ruby​​ 脚本来做一些繁重的处理,然后返回结果 JSON。

歌利亚适合这个吗?据我所见,请求是按顺序处理的。我应该怎么做才能做到这一点?

0 投票
2 回答
483 浏览

ruby - 如何测试 em-mongo + Goliath?

这个下面的应用程序将一些数据保存到数据库中,我想测试它是否正确保存。

上述规范通过,因为反应器在callback返回之前结束。我考虑过手动启动反应器,例如:

虽然我不确定是否为每个规格启动反应器是一种好习惯。请帮忙?

0 投票
1 回答
291 浏览

ruby-on-rails - 在 Goliath 端点内部重定向

我的 Goliath 端点之一变得非常复杂,因此我决定将其拆分并使用 http 在它们之间进行通信(上面是这个想法的一个简单示例)。但是我在他们之间沟通时遇到了麻烦。不确定这是否是最好的主意,因此欢迎提出建议。谢谢!

0 投票
1 回答
156 浏览

ruby-on-rails - 有一个“SendEmail”机架中间件或其他类似的后台作业中间件可以吗?

我读到机架中间件是为了修改当前的请求/响应,但是如果有一个 SendEmail 中间件可以env['user_id']用来发送电子邮件呢?

让我们假设整个过程(请求 + 发送电子邮件)将是异步的。

0 投票
1 回答
1368 浏览

ruby-on-rails - Rails 应用程序和 goliath api 以及数据库/模型共享

我正在尝试使用 Goliath 框架创建异步 api。服务应该写入 mysql,向 RabbitMQ 添加消息并接收响应。还应该有一个使用 Rails 构建的单独的管理应用程序。我对此有几个问题:

有没有办法在 Rails 和 Goliath 之间有效地共享模型?在 em 中使用 Activerecord 或任何其他 orm 有什么问题吗?是否有任何最佳实践、配置(连接池大小、驱动程序)或其他选项?我必须使用什么来接收来自 AMQP 的消息?构建一个单独的 eventmachine 守护进程会更好,还是我可以以某种方式使用 Goliath 的守护进程?感谢提前。

0 投票
1 回答
421 浏览

rspec - 当在一个 RSpec 套件中调用多个 with_api() 测试时,Goliath 会破坏 em-synchrony/em-hiredis

我只是在使用 RSpec 测试 Goliath API 时遇到了奇怪的行为。我的一项测试如下所示:

API 基本上只是借助以下方式在 redis 中查找密钥em-synchrony/em-hiredis

两个测试单独运行,但不能一起运行。第一个执行后,整个系统会停顿大约 10 秒。然后调用第二个 with_api 但从未执行 get_request - 我认为它正在以某种超时运行。

我在另一个非常相似的测试中发现了相同的行为,该测试正在推送和弹出这样的队列:

second 的内容async do ..也根本不执行。在没有加载 goliath 的情况下,一个非常相似的测试可以完美运行:

前面async do ..的任务是相同的 RSpec 助手。

我整天都在疯狂地寻找,但对我来说这没有任何意义。因为最后一个测试运行得很好,我想它既不是em-synchrony也不是em-synchrony/em-hiredis

也许歌利亚并没有停止,占领新兴市场的时间有点太长了?

感谢您的帮助,这让我发疯了!

0 投票
1 回答
170 浏览

ruby - 使用 goliath 和 rack::jsonp 时标头内容长度小于实际长度

这是 jsonp goliath 中间件的代码:

https://github.com/postrank-labs/goliath/blob/master/lib/goliath/rack/jsonp.rb

一切都很好,除了标题包含的内容长度小于实际长度。

我不确定为什么在哪里或为什么它设置的内容长度小于实际可能是因为:

“#{env.params['callback']}(#{response})” 未考虑包含在返回正文中的额外回调方法名称。

我能想到的解决方案是在调用此方法 post_process 之前修改标题,以便标题内容长度正确。

我不确定在哪里做。

0 投票
2 回答
3688 浏览

ruby - 有没有办法在葡萄上修改或发送自定义标题?

我正在使用歌利亚和葡萄。在我的 goliath 服务器上,它像这样调用葡萄 api:

在我的葡萄 api 类上,我的方法很简单:

我想修改标题 - 特别是“内容长度”,但不确定如何修改。

另外我想问一个额外的问题。如何在方法 GET 返回我想修改结果的结果之前专门创建回调/过滤器。