Le programme va dans la base de données pour lire 10 données avec run_status=0 à chaque fois,
Lorsqu'une tâche est exécutée, la base de données met à jour les champs
run_status=-1
signifie que cette tâche est verrouillée.
Bien sûr, une fois l'exécution de la tâche terminée, run_status=0, indiquant qu'elle a été déverrouillée.
Maintenant vient le problème. Lors de l'exécution d'une tâche, en raison d'une exception, telle que le serveur interrompant soudainement le programme lors de la publication, run_status=-1 sera toujours dans l'état verrouillé. Mais cela n’est pas réellement mis en œuvre.
Vous devez maintenant concevoir un mécanisme pour empêcher que cela ne se produise. Que ferez-vous ? L'environnement actuel peut utiliser Redis.
J'ai trouvé cette question trop simple. Définissez une clé avec un délai d'expiration de 60 secondes. Vérifiez si cette clé existe à chaque fois