Ruby on Rails

ActiveJob & Background Jobs

ActiveJob, Sidekiq, DelayedJob, job kuyrukları, perform_later, hata yönetimi, yeniden deneme mantığı, GlobalID

20 mülakat soruları·
Mid-Level
1

Ruby on Rails'te ActiveJob nedir?

Cevap

ActiveJob, Rails'e entegre bir framework olup, jobları tanımlamak ve bunları Sidekiq, Resque veya DelayedJob gibi çeşitli queuing backendlerinde çalıştırmak için birleşik bir arayüz sağlar. Job kodunu değiştirmeden backend değiştirmeye olanak tanır ve asenkron arka plan işleme için standartlaştırılmış bir soyutlama sunar.

2

ActiveJob'da bir job'u asenkron olarak çalıştırmak için hangi metot kullanılmalıdır?

Cevap

perform_later metodu, job'u yapılandırılmış queuing backend tarafından asenkron çalıştırılmak üzere kuyruğa alır. Job bir kuyruğa yerleştirilir ve daha sonra bir worker tarafından işlenir. Job'u hemen ve senkron çalıştıran perform_now'ın aksine, perform_later ana thread'i serbest bırakır ve uygulamanın yanıt verme hızını artırır.

3

ActiveJob'da perform_later ile perform_now arasındaki temel fark nedir?

Cevap

perform_later, job'u daha sonra bir worker tarafından asenkron çalıştırılmak üzere bir kuyruğa alır, perform_now ise job'u mevcut süreçte hemen ve senkron çalıştırır. perform_now testler için veya hemen çalıştırma gerektiğinde yararlıdır, ancak job tamamlanana kadar çağıran thread'i bloke eder.

4

Bir ActiveJob job'u için varsayılan queue nasıl tanımlanır?

5

GlobalID nedir ve ActiveJob'daki rolü nedir?

+17 mülakat soruları

Bir sonraki mülakatın için Ruby on Rails'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla