Configuration des files d'attente et gestion des tâches avec

Voici une proposition de description méta pour votre article : "Optimisez vos processus critiques avec les files d'attente Laravel ! Découvrez comment configur

Mahmoud DEVO
Mahmoud DEVO
December 28, 2025 2 min read
Configuration des files d'attente et gestion des tâches avec

Configuration des Files d’Attente dans Laravel

=====================================================

Les files d’attente sont une caractéristique clé de Laravel qui permet aux développeurs de traiter les tâches en arrière-plan. Dans ce tutoriel, nous allons explorer la configuration et l’utilisation des files d’attente dans votre application Laravel.

Pourquoi Utiliser les Files d’Attente ?


Les files d’attente sont particulièrement utiles lorsque vous avez un processus qui nécessite beaucoup de travail pour être traité. Au lieu de le lancer directement, vous pouvez le mettre en file d’attente et laisser le worker de file d’attente le traiter individuellement. Cela permet également de répartir la charge sur plusieurs workers de file d’attente, ce qui peut être particulièrement utile pour les tâches lourdes.

Configuration des Files d’Attente


Les files d’attente ont leur propre fichier de configuration (config/queue.php) où vous pouvez définir différents drivers et spécifier le driver par défaut. Vous devez également y stocker vos informations d’authentification pour SQS, Redis ou beanstalkd.

Utilisation de Redis avec Laravel Forge

Laravel Forge est un service de gestion de serveur qui simplifie l’utilisation des files d’attente avec Redis. Chaque serveur que vous créez a déjà Redis configuré automatiquement. Vous pouvez alors simplement aller dans la console de votre site et cliquer sur “Start Worker” pour utiliser Redis comme driver de file d’attente.

Les Jobs


Les jobs sont les unités de travail qui sont ajoutées à la file d’attente. Ils peuvent prendre différentes formes, telles que des tableaux de données ou simplement des chaînes de caractères. Laravel fournit une structure appelée Job qui encapsule une tâche unique et permet son ajout et sa récupération à partir de la file d’attente.

Création d’un Job

Pour créer un job, vous pouvez utiliser l’artisan : php artisan make:job CrunchReports. Cela créera un nouveau fichier avec le template suivant :

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;

class CrunchReports implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct()
    {
        // 
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        // 
    }
}

Fournir des Données au Job

Vous pouvez fournir des données au job en utilisant le constructeur. Par exemple :

protected $user;

public function __construct($user)
{
    $this->user = $user;
}

public function handle(ReportGenerator $generator)
{
    $generator->generateReportsForUser($this->user);
    Log::info('Generated reports.');
}

Envoi d’un Job dans la File d’Attente


Il existe plusieurs façons de dispatcher un job, mais la méthode recommandée est de l’appeler directement sur le job lui-même. Par exemple :

$user = auth()->user();
$daysToCrunch = 7;
\App\Jobs\CrunchReports::dispatch($user, $daysToCrunch);

Vous pouvez également personnaliser la connexion, la file d’attente et le délai en utilisant les méthodes onConnection(), onQueue() et delay().

Délai

Le délai permet de spécifier le temps que les workers de file d’attente doivent attendre avant de traiter un job. Par exemple :

DoThingJob::dispatch()->delay(10);

Cela signifie que le job sera traité 10 secondes après l’être envoyé dans la file d’attente.

En conclusion, les files d’attente sont une caractéristique puissante de Laravel qui permet aux développeurs de traiter les tâches en arrière-plan. En suivant ce tutoriel, vous devriez maintenant être capable de configurer et d’utiliser les files d’attente dans votre application.

Prochaines Étapes

  • Explorons la création de jobs plus complexes qui utilisent des dépendances injectées.
  • Apprenons à utiliser les queues pour traiter les tâches asynchrones.
Advertisement

In-Article Ad

Dev Mode

Share this article

Mahmoud DEVO

Mahmoud DEVO

Senior Full-Stack Developer

I'm a passionate full-stack developer with 10+ years of experience building scalable web applications. I write about Vue.js, Node.js, PostgreSQL, and modern DevOps practices.

Enjoyed this article?

Subscribe to get more tech content delivered to your inbox.

Related Articles