Ruby on Rails

ActiveJob & Background Jobs

ActiveJob, Sidekiq, DelayedJob, job queues, perform_later, error handling, retry logic, GlobalID

20 questions d'entretien·
Confirmé
1

Qu'est-ce qu'ActiveJob dans Ruby on Rails ?

Réponse

ActiveJob est un framework intégré à Rails qui fournit une interface unifiée pour déclarer des jobs et les faire exécuter par différents backends de queuing comme Sidekiq, Resque ou DelayedJob. Il permet de changer de backend sans modifier le code des jobs, offrant une abstraction standardisée pour le traitement asynchrone en background.

2

Quelle méthode utiliser pour exécuter un job de manière asynchrone dans ActiveJob ?

Réponse

La méthode perform_later enqueue le job pour une exécution asynchrone par le backend de queuing configuré. Le job est placé dans une queue et sera traité ultérieurement par un worker. Contrairement à perform_now qui exécute le job immédiatement de manière synchrone, perform_later permet de libérer le thread principal et d'améliorer la réactivité de l'application.

3

Quelle est la différence principale entre perform_later et perform_now dans ActiveJob ?

Réponse

perform_later enqueue le job dans une queue pour exécution asynchrone ultérieure par un worker, tandis que perform_now exécute le job immédiatement de manière synchrone dans le processus actuel. perform_now est utile pour les tests ou quand une exécution immédiate est requise, mais il bloque le thread appelant jusqu'à la fin du job.

4

Comment définir la queue par défaut pour un job ActiveJob ?

5

Qu'est-ce que GlobalID et quel est son rôle dans ActiveJob ?

+17 questions d'entretien

Maîtrise Ruby on Rails pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement