問題タブ [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.
ruby - postgresqlgemasyncを使用する
私はGoliath(eventmachineを利用)とpostgres gempg
を使用していますが、現在はpg gemをブロックする方法で使用しています:(conn.exec('SELECT * FROM products')
たとえば)そしてpostgresに接続するためのより良い方法があるかどうか疑問に思っていますデータベース?
ruby - Goliath内で使用するために提案されたRedisドライバー?
EventMachine内で使用するためにRedis接続を確立するためのいくつかのオプションがあるようですが、それらの間のコアの違いを理解するのに苦労しています。
私の目標は、 Goliath内にRedisを実装することです
私が今接続を確立する方法は、em-synchronyを介してです:
上記とem-hiredisのようなものを使用することの違いは何ですか?
セットと基本的なkey:valueストレージにRedisを使用している場合、em-redisは私のシナリオに最適なソリューションですか?
ruby - Goliathを使用した非同期Web処理
受信したURLを解析し、重い処理を実行して結果のJSONを返す他のrubyスクリプトを呼び出す単純なWebサーバーが必要です。
ゴリアテはこれに適していますか?私が見る限り、リクエストは順番に処理されています。これを正しくするために私は何をすべきですか?
ruby - em-mongo + Goliathをテストする方法は?
この以下のアプリはいくつかのデータをデータベースに保存します。正しく保存されることをテストしたいと思います。
callback
リアクターが戻る前に終了するため、上記の仕様は合格です。私は次のように手動で原子炉を始動することを考えました:
すべての仕様でリアクターを起動することが良い習慣かどうかはわかりませんが。助けてください?
ruby-on-rails - Goliath エンドポイント内で内部的にリダイレクトする
私の Goliath エンドポイントの 1 つが非常に複雑になってきているので、それを切り取り、HTTP を使用してそれらの間で通信することにしました (上記はアイデアの簡単な例です)。しかし、私はそれらの間の通信に問題があります。これが最良のアイデアであるかどうかわからないので、提案をお待ちしています。ありがとう!
ruby-on-rails - `SendEmail` ラック ミドルウェアまたは他のバックグラウンド ジョブ ミドルウェアを使用しても問題ありませんか?
ラックミドルウェアは現在のリクエスト/レスポンスを変更するためのものだと読みましたが、電子メールを送信するために見るSendEmailミドルウェアを持つことはどうですかenv['user_id']
.
プロセス全体 (リクエスト + 電子メールの送信) が非同期になると仮定しましょう。
ruby-on-rails - RailsアプリとゴリアテAPIおよびデータベース/モデルの共有
Goliathフレームワークを使用して非同期APIを作成しようとしています。サービスはmysqlに書き込み、RabbitMQにメッセージを追加し、応答を受信する必要があります。Railsで構築された別の管理アプリケーションも必要です。私はそれについていくつか質問があります:
RailsとGoliathの間でモデルを効果的に共有する方法はありますか?Activerecordまたは他のormをemで使用するのに問題はありますか?それに関するベストプラクティス、構成(接続プールのサイズ、ドライバー)、またはその他のオプションはありますか?AMQPからメッセージを受信するために何を使用する必要がありますか?別のeventmachineデーモンを構築する方が良いでしょうか、それともどういうわけかGoliathのものをそのようなものに使用できますか?よろしくお願いします。
rspec - 複数の with_api() テストが 1 つの RSpec スイートで呼び出されると、Goliath は em-synchrony/em-hiredis を壊します
RSpec を使用して Goliath API をテストしているときに、奇妙な動作が発生しました。私のテストの1つは次のようになります。
em-synchrony/em-hiredis
API は基本的に、次のような助けを借りて、redis でキーを検索するだけです。
両方のテストは個別に実行されますが、一緒には実行されません。最初の実行後、システム全体が約 10 秒間停止します。2 番目の with_api が呼び出されますが、get_request は実行されません。何らかのタイムアウトで実行されていると思います。
次のようにキューをプッシュおよびポップする別の非常によく似たテストで同じ動作を発見しました。
second の内容async do ..
もまったく実行されません。goliath をロードしないと、非常によく似たテストが完全に実行されます。
前のasync do ..
タスクの は同じ RSpec ヘルパーです。
私は一日中狂ったように探していましたが、私には意味がありません. 最後のテストはまったく問題なく実行されているため、問題でも問題でem-synchrony
もないと思いem-synchrony/em-hiredis
ます。
ゴライアスは止まらず、EM を占有する時間が長すぎるのではないでしょうか?
助けてくれてありがとう、これは私を夢中にさせています!
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 が呼び出される前にヘッダーを変更して、ヘッダーの content-length が正しいようにすることです。
どこでそれを行うべきかわからない。
ruby - グレープでカスタム ヘッダーを変更または送信する方法はありますか?
私はゴリアテとグレープを使用しています。私のgoliathサーバーでは、ブドウのAPIを次のように呼び出します。
私のブドウ API クラスでは、私のメソッドは次のように単純です。
ヘッダー、特に「Content-Length」を変更したいのですが、方法がわかりません。
また、追加で質問したいと思います。メソッド GET が結果を返す前にコールバック/フィルターを作成するにはどうすればよいですか? 結果を変更したいのですが。