Ruby on Rails

ActiveJob & Background Jobs

ActiveJob, Sidekiq, DelayedJob, colas de jobs, perform_later, manejo de errores, lógica de reintentos, GlobalID

20 preguntas de entrevista·
Mid-Level
1

¿Qué es ActiveJob en Ruby on Rails?

Respuesta

ActiveJob es un framework integrado en Rails que proporciona una interfaz unificada para declarar jobs y ejecutarlos en distintos backends de queuing como Sidekiq, Resque o DelayedJob. Permite cambiar de backend sin modificar el código de los jobs, ofreciendo una abstracción estandarizada para el procesamiento asíncrono en background.

2

¿Qué método se debe usar para ejecutar un job de forma asíncrona en ActiveJob?

Respuesta

El método perform_later encola el job para su ejecución asíncrona por el backend de queuing configurado. El job se coloca en una cola y será procesado más tarde por un worker. A diferencia de perform_now, que ejecuta el job inmediatamente de forma síncrona, perform_later libera el thread principal y mejora la capacidad de respuesta de la aplicación.

3

¿Cuál es la diferencia principal entre perform_later y perform_now en ActiveJob?

Respuesta

perform_later encola el job en una cola para su ejecución asíncrona posterior por un worker, mientras que perform_now ejecuta el job inmediatamente de forma síncrona en el proceso actual. perform_now es útil para los tests o cuando se requiere una ejecución inmediata, pero bloquea el thread que lo llama hasta que el job termina.

4

¿Cómo definir la queue por defecto para un job de ActiveJob?

5

¿Qué es GlobalID y cuál es su rol en ActiveJob?

+17 preguntas de entrevista

Domina Ruby on Rails para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis