Golang: La question que vous souhaitez exécuter le processus à exactement 00:00 ou 30 minutes à l'intervalle spécifié.

Le ticker ne fonctionne pas comme prévu!

Il y a un travail que je veux être résident et exécuter régulièrement, mais s'il s'agit d'un ticker normal, le compte d'intervalle commence à partir du moment où le ticker est créé après son démarrage, donc l'heure ne peut pas être réglée exactement. De plus, même si le ticker était réglé sur intervalle de sorte qu'il soit 12:00:00, il se déplaçait occasionnellement à 11: 59: 59.999, et les données traitées seraient dupliquées et enregistrées.

J'ai également écrit comment utiliser le ticker et pratiquer le contrôle du temps.

https://github.com/xbridges/Scheduler Simplement, le ticker vous appellera exactement à l'intervalle de temps spécifié.

ex) sch, next := NewScheduler(3600, 0)

Si vous commencez ainsi, le ticker se déclenchera une fois toutes les heures. En outre, si vous utilisez la valeur de décalage, l'intervalle est toutes les heures (3600), mais si vous définissez le décalage: 600, le ticker se déclenchera à 05 minutes toutes les heures.

Je l'ai écrit génialement, mais ce que j'ai fait n'était qu'un tour (rires)

J'emballe juste le ticker, mais Kimo

  is := time.Duration(interval) * time.Second  // <--Définissez l'heure spécifiée sur Durée
  n := time.Now()   // <--Heure actuelle
  ns := n.Round(is) // <--C'est comme masquer l'heure actuelle avec un intervalle de temps et l'arrondir.

Si vous faites cela, le ticker se déplacera parfois tôt, et même s'il atteint 59 minutes 59 secondes .9999, il sera arrondi, de sorte que l'heure se déclenchera correctement aux 00 minutes suivantes.

J'ai fait une note car elle fonctionnait régulièrement et j'en étais un peu accro.

référence

http://okzk.hatenablog.com/entry/2015/12/01/001924

Recommended Posts

Golang: La question que vous souhaitez exécuter le processus à exactement 00:00 ou 30 minutes à l'intervalle spécifié.
Lorsque vous souhaitez ajuster l'intervalle de l'échelle de l'axe avec APLpy
[Python3] Code qui peut être utilisé lorsque vous souhaitez modifier l'extension d'une image à la fois
L'histoire de l'adresse IPv6 que je souhaite conserver au minimum
Lorsque vous souhaitez mettre à jour le pilote Chrome.
Voulez-vous que je corrige cette copie?