Maison > Questions et réponses > le corps du texte
L'exigence est qu'après que l'utilisateur ait effectué une opération, compte à rebours pendant deux heures, puis effectue une autre opération à ce moment-là
Mais maintenant, il n'y a aucun moyen de chronométrer ces deux heures.
Avez-vous de bonnes idées
巴扎黑2017-05-16 13:06:54
Mon idée est de retarder la distribution d'une tâche via la file d'attente, c'est-à-dire de la déclencher au bout de 2 heures, puis d'envoyer un SMS dans la tâche.
Voici le lien du document :
Distribution retardée en file d'attente
Notification par SMS
PHPz2017-05-16 13:06:54
Créez un tableau pour stocker le numéro de téléphone mobile de l'utilisateur, le contenu du message texte et l'heure à laquelle il doit être envoyé.
Les utilisateurs peuvent ajouter une nouvelle ligne d'enregistrements en un seul clic.
Définissez une tâche planifiée, vérifiez-la toutes les minutes, envoyez-la lorsque le temps est écoulé et supprimez l'enregistrement après l'avoir envoyé
PHP中文网2017-05-16 13:06:54
Mettez le nom de la tâche à exécuter et le temps d'exécution dans l'ensemble ordonné redis, puis vérifiez régulièrement le score de l'ensemble ordonné redis, et s'il est dans la plage, supprimez la tâche d'exécution
曾经蜡笔没有小新2017-05-16 13:06:54
Lorsque l'utilisateur opère, il enregistrera certainement un temps d'opération dans le tableau, et le démon continuera à interroger jusqu'à ce qu'il envoie un message texte dans deux heures
给我你的怀抱2017-05-16 13:06:54
C'est le besoin de minuteries et de files d'attente de messages. . .
过去多啦不再A梦2017-05-16 13:06:54
Linux utilise crontab et le système d'interface comme window a ses propres tâches personnalisées. Utilisez la tâche planifiée curl pour spécifier le fichier php, ou utilisez php pour exécuter le fichier php. Dans ce cas, en effectuant un accès planifié toutes les minutes (similaire à un sondage), lors de l'accès au fichier PHP, lisez les données de la table de données stockées (données conditionnelles de deux heures), vous devez jeter les données dans la file d'attente (pour éviter lorsque la quantité de données est trop importante, l'envoi d'une grande quantité d'informations entraîne une utilisation excessive des ressources du serveur), et enfin extraire les données quantitatives de la file d'attente et envoyer les données
仅有的幸福2017-05-16 13:06:54
Utilisez crontab pour exécuter la file d'attente des tâches de la base de données
滿天的星座2017-05-16 13:06:54
Vous pouvez utiliser un framework PHP asynchrone, tel que Workerman ou Swoole, pour créer un timer et exécuter des tâches lorsque vous en avez besoin ! ! !
PHP中文网2017-05-16 13:06:54
Enregistrez l'heure et l'événement à déclencher, le script exécutera les données toutes les minutes et les exécutera lorsque le temps sera écoulé. C'est le plus simple
.