Ruby on Rails

ActiveJob & Background Jobs

ActiveJob, Sidekiq, DelayedJob, hàng đợi job, perform_later, xử lý lỗi, logic retry, GlobalID

20 câu hỏi phỏng vấn·
Mid-Level
1

ActiveJob trong Ruby on Rails là gì?

Câu trả lời

ActiveJob là một framework tích hợp sẵn của Rails, cung cấp một giao diện thống nhất để khai báo các job và chạy chúng trên nhiều backend queuing khác nhau như Sidekiq, Resque hoặc DelayedJob. Nó cho phép chuyển đổi backend mà không cần sửa đổi code của job, mang lại một lớp trừu tượng chuẩn hóa cho việc xử lý nền bất đồng bộ.

2

Nên dùng phương thức nào để thực thi một job bất đồng bộ trong ActiveJob?

Câu trả lời

Phương thức perform_later đưa job vào hàng đợi để backend queuing đã cấu hình thực thi bất đồng bộ. Job được đặt vào một hàng đợi và sẽ được một worker xử lý sau. Khác với perform_now thực thi job ngay lập tức và đồng bộ, perform_later giải phóng thread chính và cải thiện khả năng phản hồi của ứng dụng.

3

Sự khác biệt chính giữa perform_later và perform_now trong ActiveJob là gì?

Câu trả lời

perform_later đưa job vào hàng đợi để một worker thực thi bất đồng bộ sau, trong khi perform_now thực thi job ngay lập tức và đồng bộ trong tiến trình hiện tại. perform_now hữu ích cho việc kiểm thử hoặc khi cần thực thi ngay, nhưng nó chặn thread gọi cho đến khi job hoàn thành.

4

Làm thế nào để định nghĩa queue mặc định cho một job ActiveJob?

5

GlobalID là gì và vai trò của nó trong ActiveJob là gì?

+17 câu hỏi phỏng vấn

Nắm vững Ruby on Rails cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí