0

Rails アプリケーションで特定のリクエストに対して 2 分のタイムアウトを指定するにはどうすればよいですか。アプリケーション リクエストの 1 つに 5 分以上かかる場合があります。その場合、2 分以上かかる場合はそのリクエストの処理を停止したいと思います。

この構成はアプリケーション レベルで必要なので、将来、そのようなタイプの要求が他にある場合、その構成でそのアクションに言及する以外に特別な変更を行うべきではありません。10分以上かかるリクエストもあります。しかし、それらは何の効果も持たないはずです。

ありがとう、

4

1 に答える 1

0

リクエストのタイムアウトをそこまで戻して設定することは、一般的に悪い習慣です。リクエストが完了するまでユーザーを何分も待たせるのは得策ではありません。

代わりに、このタイプの長時間実行タスクは、ワーカー プロセスが Web 要求とは無関係に都合のよいときに実行されるように、ジョブ キューに配置する必要があります。これ

  • Web リクエストを非常に迅速に完了できるようにし、ユーザーを満足させます
  • 長時間実行されるタスクは、Web プロセスから離れて、本来あるべきこと (Web リクエストの処理) を実行できるようにします。

delay_jobのような宝石を考えてみましょう。それをアプリケーションに組み込む方法を説明することは、この質問の範囲外です。ここでの私の答えは、タイムアウトを変更しようとすることは間違った「答え」である可能性が非常に高く、ジョブキューを見るほうがよいことを指摘するためだけのものです。

于 2012-12-14T12:43:30.583 に答える