Ruby on Rails

ActiveJob & Background Jobs

ActiveJob, Sidekiq, DelayedJob, code di job, perform_later, gestione degli errori, logica di retry, GlobalID

20 domande da colloquio·
Mid-Level
1

Cos'è ActiveJob in Ruby on Rails?

Risposta

ActiveJob è un framework integrato in Rails che fornisce un'interfaccia unificata per dichiarare job ed eseguirli su diversi backend di queuing come Sidekiq, Resque o DelayedJob. Permette di cambiare backend senza modificare il codice dei job, offrendo un'astrazione standardizzata per l'elaborazione asincrona in background.

2

Quale metodo si dovrebbe usare per eseguire un job in modo asincrono in ActiveJob?

Risposta

Il metodo perform_later accoda il job per l'esecuzione asincrona da parte del backend di queuing configurato. Il job viene messo in una coda e sarà elaborato in seguito da un worker. A differenza di perform_now, che esegue il job immediatamente e in modo sincrono, perform_later libera il thread principale e migliora la reattività dell'applicazione.

3

Qual è la differenza principale tra perform_later e perform_now in ActiveJob?

Risposta

perform_later accoda il job in una coda per l'esecuzione asincrona successiva da parte di un worker, mentre perform_now esegue il job immediatamente e in modo sincrono nel processo corrente. perform_now è utile per i test o quando è richiesta un'esecuzione immediata, ma blocca il thread chiamante fino al completamento del job.

4

Come definire la queue predefinita per un job ActiveJob?

5

Cos'è GlobalID e qual è il suo ruolo in ActiveJob?

+17 domande da colloquio

Padroneggia Ruby on Rails per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis