J'ai une table de base de données des utilisateurs et des messages. Ce que je veux faire est de mettre en place un système où un travail de file d'attente distinct est en cours d'exécution pour chaque utilisateur.Fractionner la file d'attente et toujours exécuter
donc ce que je ferais est de sélectionner tous les utilisateurs:
$users = User::all();
Et puis boucle à travers chaque utilisateur de démarrer une file d'attente:
foreach ($users as $user) {
// dispatch queue job that goes through each user's posts
}
Maintenant, j'ai un travail de file d'attente en cours d'exécution pour chaque utilisateur. Cependant, j'ai besoin que ce travail soit exécuté pour toujours, de sorte que lorsque le dernier message de l'utilisateur est atteint, le travail redémarre et retourne au dernier message de l'utilisateur et continue le cycle.
Comment puis-je créer ce système de file d'attente?
Habituellement, les travaux de file d'attente sont destinés à gérer les processus de longue durée en arrière-plan. Un exemple de certains travaux de file d'attente communs serait des choses comme le téléchargement de fichiers ou l'encodage vidéo. Je suis curieux plus que tout: pourquoi pensez-vous que vous avez besoin d'un travail en attente pour gérer la récupération des enregistrements post? Encore plus loin, pourquoi voudriez-vous que la file d'attente fonctionne à perpétuité? Pouvez-vous décrire votre cas d'utilisation un peu plus? – maiorano84
J'effectue des actions sur chacun des messages de l'utilisateur et je dois le faire continuellement. Sachez que la liste des utilisateurs est très courte et le nombre de messages est faible. – user6592471