Je travaille sur un programme Python. Il doit fonctionner toutes les 15 minutes. Il attend actuellement 870 secondes (14,5 mins) avant de courir à nouveau, mais à mesure que le temps nécessaire pour terminer l'action varie, il est parfois arrivé avant que cela ne soit 15 minutes depuis sa dernière course, parfois après 15 minutes.
Mon code pour Cette partie ressemble actuellement à ceci: p>
print(colour.BOLD, colour.PURPLE, "Finished", colour.END) print(colour.BOLD, colour.BLUE, 'WAITING 15 MINUTES (900 SECONDS)', colour.END) time.sleep(870)
3 Réponses :
Je voudrais utiliser le module code> code>: https://pypos.org/ Projet / Calendrier /
Vous exécuteriez: P>
schedule.every().minute.at(":00").do(job) schedule.every().minute.at(":15").do(job) schedule.every().minute.at(":30").do(job) schedule.every().minute.at(":45").do(job)
Au cas où le script se bloque cette solution ne le redémarrera pas
Utilisez vos outils OS pour obtenir des résultats similaires.
Ils sont très fiables et, en cas de défaillance de votre script, il fonctionnera quand même la prochaine fois. P>
Linux strong> de comme une idée générale: p> à l'intérieur de l'écriture de crontab (assurez-vous de personnaliser le chemin exécutable Python et le chemin de script): P>
Utiliser crontab.
Comment définir cela changera légèrement en fonction de votre distribution. p> */15 * * * * /usr/bin/python /path/to/your/script.py
Bonjour @noah, si ma réponse vous était utile, veuillez envisager de la perfectionner et / ou de le choisir en tant que réponse finale. Merci!
Avoir un script qui fait une chose à des intervalles discrets prenant le contrôle de son propre destin comme celui qui me rend Squirrely. J'utiliserais un cadre de planification externe pour exécuter ce travail à des intervalles discrets. À Linux, cela peut être fait avec des cronjobs; Dans Windows, cela peut être fait avec le planificateur de tâches.
Linux:
Dans la borne, tapez p> pour éditer la planification de Cron pour le contexte actuel de l'utilisateur. Docs on Edition Cron peut être trouvé sur Internet - voici un: HTTPS: / /www.raspberrypi.org/documentation/linux/usage/cron.md P> Windows:
Vous pouvez planifier un script Python pour exécuter ce calendrier dans le planificateur de tâches Windows. Voici un lien qui marche à travers cela: https://www.esri.com/arcgis-blog/products/product/analytics/scheduling-a-python-script-or-model-àrun- AT-A-prescrit-time / p> Soyez certain d'utiliser "si la tâche est déjà en cours d'exécution" et "exécuter la tâche dès que possible après un démarrage programmé" Options si vous Faites cette méthode pour contrôler le comportement approprié:
p> p>
Stockez la première fois .. Vérifiez si cela fait 15 minutes .. Mettez à jour l'heure et exécutez la tâche à nouveau. N'essayez pas d'utiliser votre sommeil Suivez la boucle ci-dessus à nouveau et encore ..
Utilisez un
cronjob code>
Quel système d'exploitation utilisez-vous?