restforceを使用して salesforce に API リクエストを行うアプリケーションがあります。
具体的には、アプリケーションは連絡先オブジェクトを見つけ、すべての関連オブジェクトの ID を返し、ID に基づいてすべての関連オブジェクトの完全なレコードを取得します。
これには、次の 2 つの理由で長い時間がかかります。
- 外部 API には多くのリクエストがあり、通常、それぞれが応答するのに数分の一の時間がかかり、場合によっては +500 の個別のリクエストが発生する可能性があります。
- 多くの場合、各リクエストによって大量のデータが引き戻されます。
現在、すべてのリクエストは Salesforce REST API の制限内にありますが、これらのリクエストの一部が処理されるまでに 5 分以上かかることがあるため、開発サーバーからタイムアウト エラーが発生しています。
Rails 4.2 - これを処理するにはどうすればよいですか?
私の質問は、レールにこれを処理させるにはどうすればよいですか?
API リクエストは、コントローラー (スキニー コントローラーに違反していることは間違いありません) から、またはビュー (危険なハックのように見えるヘルパー メソッド経由) から起動できます。
理想的には、バックグラウンド ジョブで実行したいのですが、ヘルパー メソッドを含めることができるのと同じ方法で、すべての認証とその他のメソッドをジョブに含めることができるかどうかわかりません。
バックグラウンド ジョブで動作させることができたとしても、ユーザー エクスペリエンスのベスト プラクティスが何であるかはわかりません。理想的には、プログレスバーを使用して「ハングアップ、コーヒーを飲みに行く」ように指示するページにルーティングし、リクエストが完了したら最終ページに自動ルーティングしたいと思います...
しかし、ジョブが完了するまで一時的な表示を生成する方法がわかりません。
この問題を消化するのに役立つ可能性のある宝石や戦略を誰かに勧めてもらえますか?