Des nouvelles ont été ajoutées en tête de listes.
Remontez pour les voir.
Inscription à la newsletter
📊 Modifier l'ordre dans lequel Laravel récupère les tâches en file d'attente (AKA Priority Queues)
DEV -
20/05
Avez-vous déjà souhaité que certaines tâches en file d'attente soient traitées bien avant d'autres ? Par exemple, si vous voulez...
Avez-vous déjà souhaité que certaines tâches en file d'attente soient traitées bien avant d'autres ? Par exemple, si vous souhaitez que les transactions de votre client VIP soient terminées avant celles des autres, cet article pourrait vous aider.
Approche simple ✨
Si vous n'avez que quelques niveaux de clients, vous pouvez envisager de les affecter à une file d'attente différente afin que les clients VIP ne soient pas bloqués par d'autres clients :
?php namespace App\Jobs; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; class ProcessJob implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; public function __construct(private Customer $customer) { $this-onQueue($this->determineQueue()); } /** * Déterminez la file d'attente à utiliser en fonction du type de client. */ fonction privée déterminerQueue() : string { return $customer->is_vip ? 'vip' : 'par défaut'; } public function handle(): void { // Logique du travail } }
Entrer en mode plein écran Quitter le mode plein écran
⚙️ Ensuite, exécutez des Workers distincts pour les deux files d'attente :
Entrer en mode plein écran Quitter le mode plein ... [Courte citation de 8% de l'article original]
Loading...
🍪
Le modèle économique de notre site repose sur l'affichage de publicités personnalisées basées sur l'utilisation de cookies publicitaires. En continuant votre visite sur notre site, vous consentez à l'utilisation de ces cookies.
Politique de confidentialité