Ruby on Rails

ActiveJob & Background Jobs

ActiveJob、Sidekiq、DelayedJob、ジョブキュー、perform_later、エラーハンドリング、リトライロジック、GlobalID

20 面接問題·
Mid-Level
1

Ruby on RailsにおけるActiveJobとは何ですか?

回答

ActiveJobはRailsに組み込まれたフレームワークで、ジョブを宣言し、Sidekiq、Resque、DelayedJobなどのさまざまなqueuingバックエンドで実行するための統一されたインターフェースを提供します。ジョブのコードを変更せずにバックエンドを切り替えられるため、非同期のバックグラウンド処理に標準化された抽象化を提供します。

2

ActiveJobでジョブを非同期に実行するには、どのメソッドを使用すべきですか?

回答

perform_laterメソッドは、設定されたqueuingバックエンドによる非同期実行のためにジョブをエンキューします。ジョブはキューに置かれ、後でワーカーによって処理されます。ジョブを即座に同期実行するperform_nowとは異なり、perform_laterはメインスレッドを解放し、アプリケーションの応答性を向上させます。

3

ActiveJobにおけるperform_laterとperform_nowの主な違いは何ですか?

回答

perform_laterはジョブをキューに入れ、後でワーカーによって非同期に実行されますが、perform_nowは現在のプロセスでジョブを即座に同期実行します。perform_nowはテストや即時実行が必要な場合に役立ちますが、ジョブが完了するまで呼び出し元のスレッドをブロックします。

4

ActiveJobのジョブにデフォルトのキューを定義するにはどうすればよいですか?

5

GlobalIDとは何で、ActiveJobにおけるその役割は何ですか?

+17 面接問題

次の面接に向けてRuby on Railsをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める