Maison développement back-end Tutoriel Python Implémentation de l'exécution en boucle chronométrée des tâches via Python3

Implémentation de l'exécution en boucle chronométrée des tâches via Python3

Apr 19, 2019 pm 01:15 PM
python3 threading time

Dans notre développement actuel, il existe souvent une telle exigence : un certain module fonctionnel ou une certaine tâche doit être exécuté de manière cyclique dans la même période de temps. Il y a ici un concept de minuterie. Plus précisément, comment devrions-nous implémenter une minuterie ? Les timers disposent de nombreuses fonctions très pratiques, qui permettent de contrôler l'exécution des threads, de réduire la consommation du système, etc. Pratiquons maintenant à implémenter la fonction de synchronisation dans Python3.

Implémentation de l'exécution en boucle chronométrée des tâches via Python3

Par exemple, lorsque vous utilisez Python pour développer un système d'exploration, vous devrez peut-être effectuer des tâches à plusieurs reprises à intervalles réguliers pour implémenter un service de thread permettant de surveiller les données en arrière-plan. . Le statut d'exploration, la minuterie peut aider ici.

[Recommandation vidéo : Tutoriel vidéo Python3]

[Recommandation manuelle : Manuel Python chinois]

Grâce à la documentation Python, nous peut trouver threading.Timer() pour implémenter la fonction de synchronisation :

Code d'implémentation simple :

import threading
def func1(a):
    #Do something
    print('Do something')
    a+=1
    print(a)
    print('当前线程数为{}'.format(threading.activeCount()))
    if a>5:
        return
    t=threading.Timer(5,func1,(a,))
    t.start()
Copier après la connexion

Rendu :

Implémentation de lexécution en boucle chronométrée des tâches via Python3

En consultant les informations, Python peut être utilisé pour implémenter trois méthodes différentes d'exécution de tâches planifiées :

1. Code de tâche planifiée

#!/user/bin/env python
#定时执行任务命令
import time,os,sched
schedule = sched.scheduler(time.time,time.sleep)
def perform_command(cmd,inc):
  os.system(cmd)
  print('task')
def timming_exe(cmd,inc=60):
  schedule.enter(inc,0,perform_command,(cmd,inc))
  schedule.run()
print('show time after 2 seconds:')
timming_exe('echo %time%',2)
Copier après la connexion

Exécution périodique des tâches

<. 🎜>
#!/user/bin/env python
import time,os,sched
schedule = sched.scheduler(time.time,time.sleep)
def perform_command(cmd,inc):
  #在inc秒后再次运行自己,即周期运行
  schedule.enter(inc, 0, perform_command, (cmd, inc))
  os.system(cmd)
def timming_exe(cmd,inc=60):
  schedule.enter(inc,0,perform_command,(cmd,inc))
  schedule.run()#持续运行,直到计划时间队列变成空为止
print(&#39;show time after 2 seconds:&#39;)
timming_exe(&#39;echo %time%&#39;,2)
Copier après la connexion
3. Exécution en boucle des commandes

#!/user/bin/env python
import time,os
def re_exe(cmd,inc = 60):
  while True:
    os.system(cmd)
    time.sleep(inc)
re_exe("echo %time%",5)
Copier après la connexion
En résumé : les méthodes de Python pour implémenter les minuteries sont toutes basées sur la planification et le threading. L'utilisation spécifique doit être utilisée de manière flexible en fonction de la situation réelle.


Les deux modules les plus couramment utilisés : threading, Sched

Le module Threading est utilisé :


import threading ,time
from time import sleep, ctime
class Timer(threading.Thread):
        """
        very simple but useless timer.
        """
        def __init__(self, seconds):
                self.runTime = seconds
                threading.Thread.__init__(self)
        def run(self):
                time.sleep(self.runTime)
                print ("Buzzzz!! Time&#39;s up!")
class CountDownTimer(Timer):
        """
        a timer that can counts down the seconds.
        """
        def run(self):
                counter = self.runTime
                for sec in range(self.runTime):
                        print (counter)
                        time.sleep(1.0)
                        counter -= 1
                print ("Done")
 
class CountDownExec(CountDownTimer):
        """
        a timer that execute an action at the end of the timer run.
        """
        def __init__(self, seconds, action, args=[]):
                self.args = args
                self.action = action
                CountDownTimer.__init__(self, seconds)
        def run(self):
                CountDownTimer.run(self)
                self.action(self.args)
 
def myAction(args=[]):
        print ("Performing my action with args:")
        print (args)
 
if __name__ == "__main__":
        t = CountDownExec(3, myAction, ["hello", "world"])
        t.start()
        print("2333")
Copier après la connexion
Le module Sched est utilisé :


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Traitement d'horloge monotone du paquet de temps Traitement d'horloge monotone du paquet de temps Aug 04, 2023 pm 05:45 PM

Aujourd'hui, nous allons principalement examiner la méthode d'application du temps du package Golang Time. La règle générale entre les deux est que « l'heure murale » est utilisée pour indiquer l'heure et « l'horloge monotone » est utilisée pour mesurer le temps. Il existe d'autres méthodes de traitement d'horloge ;

Comment utiliser l'API Java8 Time Comment utiliser l'API Java8 Time Apr 28, 2023 pm 12:25 PM

1. Présentation Dans le cadre de cet article, commençons par quelques problèmes avec les API Date et Calendar existantes et explorons comment les nouvelles API Java8Date et Time résolvent ces problèmes. Nous examinerons également les classes principales de la bibliothèque de classes de temps Java8, telles que LocalDate, LocalTime, LocalDateTime, ZonedDateTime, Period, Duration et leurs API. 2. Problèmes avec la sécurité des threads de l'ancienne API (avant Java 8) - les classes Date et Calendar ne sont pas thread-safe, ce qui rend difficile pour les développeurs de déboguer les problèmes de concurrence avec ces API et doivent écrire du code supplémentaire pour les gérer. .

Quelle est la différence et l'utilisation entre time et datetime en python Quelle est la différence et l'utilisation entre time et datetime en python May 02, 2023 am 11:01 AM

1. Deux façons de représenter l'heure en Python : timestamp : décalage en secondes par rapport à 1970.1.100:00:00, tuple temporel unique struct_time : un total de 9 éléments>tm_year : année 1-12> tm_mon : mois 1-12> tm_mday : jour 1-31>tm_hour : heure 0-23>tm_min : minute 0-59>tm_sec : seconde 0-59>tm_wday : semaine 0-6 (0 signifie dimanche)>tm_day : jour de l'année 1-366> tm_isdst : qu'il s'agisse de l'heure d'été, la valeur par défaut est -1.ti

Comment obtenir et convertir l'heure dans le module de temps Python Comment obtenir et convertir l'heure dans le module de temps Python May 13, 2023 pm 12:19 PM

Acquisition et conversion de l'heure du module Pythontime La bibliothèque Time de Python peut effectuer des traitements liés au temps, tels que l'accès à la date et à l'heure actuelles, la sortie de l'heure dans différents formats et l'attente d'une heure spécifiée. 1. Obtenez l'heure 1.1. Horodatage importtimetimestamp=time.time()#1682737552.5009851 Heure moyenne de Greenwich (GMT) Le nombre total de secondes entre 00:00:00 le 1er janvier 1970 et aujourd'hui 1.2. localtime()#time.struct_time(tm_year=2

Comment utiliser le module de threading pour créer et gérer des threads dans Python 3.x Comment utiliser le module de threading pour créer et gérer des threads dans Python 3.x Aug 04, 2023 am 10:37 AM

Introduction à l'utilisation du module de threading pour créer et gérer des threads dans Python 3.x : Grâce aux performances puissantes des ordinateurs, le multithreading est devenu une méthode courante de traitement parallèle. Dans la bibliothèque standard de Python, il existe un module pratique : le threading. Cet article expliquera comment utiliser le module de threading dans Python3.x pour créer et gérer des threads, et utilisera des exemples de code pour illustrer. 1. Qu'est-ce qu'un fil de discussion ? Un thread est un processus indépendant qui s'exécute au sein d'un seul processus.

Comment installer pip dans python3 Comment installer pip dans python3 Dec 20, 2023 pm 05:42 PM

Étapes d'installation : 1. Assurez-vous que Python3 a été installé et est accessible via la ligne de commande ; 2. Ouvrez le terminal et entrez la commande "python3 -m Ensurepip --upgrade" pour installer pip ; à partir du site Web officiel de Python ; 4. Extrayez le package d'installation pip téléchargé dans un répertoire ; 5. Ouvrez le terminal et accédez au répertoire pip décompressé 6. Exécutez la commande "python3 setup.py install" pour installer pip.

Utilisez la fonction PHP 'time' pour renvoyer l'horodatage UNIX actuel Utilisez la fonction PHP 'time' pour renvoyer l'horodatage UNIX actuel Jul 25, 2023 pm 04:42 PM

Utilisez la fonction PHP "time" pour renvoyer l'horodatage UNIX actuel. L'horodatage UNIX fait référence au nombre total de secondes depuis 0:00:00 le 1er janvier 1970, temps universel coordonné (UTC). En PHP, vous pouvez utiliser la fonction intégrée "time" pour obtenir l'horodatage UNIX actuel. Cet article explique comment utiliser cette fonction et fournit des exemples de code correspondants. Exemple de code : &lt;?php$timestamp=time();echo" current

Utilisation de Threading pour la gestion des threads dans le développement d'API Java Utilisation de Threading pour la gestion des threads dans le développement d'API Java Jun 18, 2023 am 08:55 AM

Java est un langage de programmation puissant doté d'une riche bibliothèque d'API qui peut nous aider à développer rapidement des applications. Dans le développement JavaAPI, l'utilisation de Threading pour la gestion des threads est inévitable, car la gestion des threads est un problème central dans les applications Java. Cet article explique comment utiliser Threading pour la gestion des threads. 1. Qu'est-ce que le threading dans JavaAPI ? Tout d’abord, comprenez ce qu’est le Threading. en Java

See all articles