-1
votes

Exécuter une demande toutes les 3 heures

J'ai une API que j'ai besoin d'utiliser pour envoyer des informations, mais cette API me demande d'obtenir un jeton d'accès toutes les trois heures. Ma question ne concerne pas l'API elle-même mais sur la façon dont je dois le faire. Je sais que j'ai besoin d'utiliser des emplois cron pour le faire. Mais est-ce le seul moyen de le faire, ou puis-je faire du calendrier de PHP elle-même pour le faire? Sinon, puis-je faire le travail cron "faire une demande" plutôt que "exécuter un script"? Ce que j'avais à l'esprit, c'est que je ferais un fichier PHP qui déclencherait mon système pour obtenir le nouveau jeton (toutes les données de la demande de jeton et la fonction seront conservées à l'intérieur de mon système plutôt que le fichier Cronjob), plutôt qu'un réglage de fichier à l'extérieur. mon projet et de les modifier de l'extérieur. Est-ce une bonne idée de le faire, ou devrais-je simplement faire du fichier cronjob pour moi? J'espère que j'ai fait mon point correctement.


0 commentaires

3 Réponses :


0
votes

Tout d'abord, Cronjob ne fait rien lui-même comme si vous avez dit "faire une demande". C'est exactement "exécuter un script". Maintenant, pour vous de répondre, vous pouvez faire cela, mais la meilleure façon pour ce type de travail est cron. provoquer son travail sous le noyau et son entièrement fiable et stable. Deuxièmement, que voulez-vous dire par "tenu dans mon système plutôt que le fichier Cronjob"? Si vous voulez dire que vous stockez votre jeton d'accès dans votre code et que vous devez maintenant le stocker dans un fichier car Cron exécute un script et que le script sauve un jeton quelque part et que ce n'est pas sûr, faites-la simplement: Créez un script qui écrit le fichier seulement 0 ou 1. toutes les 3 heures Ce script s'exécute par Cron et changez le 0 en 1. Vous vérifiez toujours ce fichier, si la valeur est 1 afin que le jeton ait été expiré et que vous produisez un nouveau jeton avant de faire Nouvel appel d'API et à la fin, vous modifiez ce fichier à 0 à nouveau. C'est juste un moyen simple. Mais soyez conscient de ce n'est pas la meilleure pratique et si vous pouvez simplement implémenter la méthode de rafraîchissement de jeton de l'autre côté.


1 commentaires

Je suis totalement nouveau à cela, alors merci beaucoup. C'est clair maintenant pour moi donc je sais maintenant quoi faire. Merci beaucoup monsieur!!



0
votes

Si le script que vous souhaitez exécuter est basé sur le Web, vous pouvez envisager d'utiliser un service 3rd Party, tel que Crono , pour configurer de manière programmable vos emplois.


0 commentaires

0
votes

Vous pouvez enregistrer le jeton créé sur un fichier chaque fois que les exécutions de travaux de cron que vous pouvez vérifier l'heure existante et que votre code pourrait décider de demander un nouveau jeton s'il atteint presque son expiration qui a presque 3 heures. Mais ce serait idéal si vous le faites 15 minutes avant l'expiration car il y a une différence pour que vous obteniez le jeton et que le jeton a finalement été généré par le système tiers, bien que la différence soit éventuellement, mais beaucoup de choses pouvaient se produire pendant la transmission afin que l'heure de la génération et l'ETA ne soit pas toujours la même. :)


0 commentaires