
ActiveJob & Background Jobs
ActiveJob, Sidekiq, DelayedJob, คิว job, perform_later, การจัดการข้อผิดพลาด, ลอจิกการ retry, GlobalID
1ActiveJob ใน Ruby on Rails คืออะไร?
ActiveJob ใน Ruby on Rails คืออะไร?
คำตอบ
ActiveJob เป็นเฟรมเวิร์กที่มาพร้อมกับ Rails ซึ่งให้อินเทอร์เฟซแบบรวมศูนย์สำหรับการประกาศ job และรันบน queuing backend ต่าง ๆ เช่น Sidekiq, Resque หรือ DelayedJob มันช่วยให้สามารถสลับ backend ได้โดยไม่ต้องแก้ไขโค้ดของ job ทำให้ได้ abstraction มาตรฐานสำหรับการประมวลผลเบื้องหลังแบบ asynchronous
2ควรใช้เมธอดใดเพื่อรัน job แบบ asynchronous ใน ActiveJob?
ควรใช้เมธอดใดเพื่อรัน job แบบ asynchronous ใน ActiveJob?
คำตอบ
เมธอด perform_later จะนำ job เข้าคิวเพื่อให้ queuing backend ที่กำหนดไว้ทำงานแบบ asynchronous job จะถูกวางไว้ในคิวและจะถูกประมวลผลภายหลังโดย worker ต่างจาก perform_now ที่รัน job ทันทีแบบ synchronous perform_later จะปลดปล่อย thread หลักและเพิ่มการตอบสนองของแอปพลิเคชัน
3ความแตกต่างหลักระหว่าง perform_later และ perform_now ใน ActiveJob คืออะไร?
ความแตกต่างหลักระหว่าง perform_later และ perform_now ใน ActiveJob คืออะไร?
คำตอบ
perform_later จะนำ job เข้าคิวเพื่อให้ worker ทำงานแบบ asynchronous ในภายหลัง ในขณะที่ perform_now รัน job ทันทีแบบ synchronous ในโปรเซสปัจจุบัน perform_now มีประโยชน์สำหรับการทดสอบหรือเมื่อจำเป็นต้องรันทันที แต่จะบล็อก thread ที่เรียกจนกว่า job จะเสร็จสิ้น
จะกำหนด queue เริ่มต้นสำหรับ job ของ ActiveJob ได้อย่างไร?
GlobalID คืออะไรและมีบทบาทอย่างไรใน ActiveJob?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Ruby on Rails อื่นๆ
พื้นฐาน Ruby
การเขียนโปรแกรมเชิงวัตถุใน Ruby
พื้นฐาน Rails
Routing & Controllers
พื้นฐาน ActiveRecord
Views และ ERB Templates
การเชื่อมโยงของ ActiveRecord
การสอบถาม ActiveRecord ขั้นสูง
ฟอร์ม Rails
การยืนยันตัวตนและการอนุญาต
Asset Pipeline สมัยใหม่และ frontend
โหมด API ของ Rails
การทดสอบด้วย RSpec
ActionCable & WebSockets
ActionMailer
ActiveStorage
กลยุทธ์การ Caching
การ Migration ขั้นสูง
Rails Engines และแอปแบบโมดูลาร์
การเพิ่มประสิทธิภาพการทำงาน
Design Patterns ใน Rails
เมตาโปรแกรมมิงใน Ruby
ความปลอดภัยของ Rails
GraphQL กับ Rails
การดีพลอยและโปรดักชัน
Monitoring & Logging
กลยุทธ์การอัปเกรด Rails
เชี่ยวชาญ Ruby on Rails สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี