En ce moment, j'ai des scripts que je veux courir automatiquement et périodiquement, disons tous les deux jours.
La façon dont j'ai structuré ressemble à ceci. p>
script1: p> script2: p> script3: p> comme vous remarquerez , "Script1" et "script2" appelez déjà leur fonction principale, donc dans "script3", je n'ai besoin que d'importer les scripts et de ne pas appeler les fonctions (bien que cela fonctionne pour moi, je ne suis pas sûr de savoir si c'est une approche sécurisée / Bonne pratique). P> Ma question: Si j'utilise calendrier em> pour exécuter 'script3' tous les x jours, cela signifie-t-il que le script fonctionnera à jamais ou est-ce qu'il exécute une fois tous x jours et passe ensuite en mode veille jusqu'à ce qu'il soit à nouveau exécuté? De plus, pour qu'il fonctionne, le PC doit toujours être toujours allumé, non? P> Si tel est le cas, est-il un moyen de le rendre exécuté automatiquement et périodiquement avec le PC éteint? P> Merci d'avance! p> p>
3 Réponses :
Si vous êtes sous Linux ou tout autre système d'exploitation basé sur UNIX, vous pouvez utiliser Cron pour la planification des travaux. Mais si vous arrêtez que les travaux de cron fonctionnent, le système s'arrête et les travaux cron s'arrêtent (ou ne fonctionnent pas). P>
Une alternative que vous pouvez enregistrer dans est anacron. p>
Je suppose que Windows Scheduler fonctionne de la même manière que les travaux de cron sous Linux. Ainsi, après avoir créé la "tâche", Windows vérifie chaque seconde pour voir s'il doit faire n'importe quelle tâche. Mais cela se fait toujours, cela n'a donc aucun impact sur la performance si c'est ce que vous êtes inquiet. Alors juste pour clarifier: p>
pour la partie de le faire même avec le PC éteint, ce n'est pas possible. P>
Je ne suis pas sûr de savoir si c'est une approche sécurisée / bonne pratique p>
Le zen de Python dit; "Explicit est meilleur que implicite." Il est donc préférable d'utiliser: p>
xxx pré> Il n'est généralement pas recommandé pour un module d'exécuter le code à l'importation. L'importation d'un module ne doit de préférence pas avoir d'effets secondaires. P>
Si j'utilise calendrier em> p> blockQuote>
Il y a probablement plus d'un programme nommé "calendrier". Pouvez-vous être plus spécifique? P>
Y a-t-il un moyen de le rendre exécuté automatiquement et périodiquement avec le PC éteint p> blockQuote>
Il y a plus d'une façon d'exécuter un script périodiquement. Des systèmes de type Unix telles que Linux ont
cron code> et
atrun code>. D'autres systèmes ont leur propre chemin. P>
mais tous ceux qui ne fonctionnent que lorsque la machine est sur em>. Tourner une machine à intervalles réguliers n'est généralement pas possible sur un PC sans matériel supplémentaire. Sauf si vous pouvez obtenir le Intel Management Engine pour faire votre enchère. P>
Les microcontrôleurs tels que l'ESP32 (qui peuvent exécuter
micropython code>) ont un mode "Sleep-Sleep" à cette fin, mais je doute, ils ne doutent pas qu'ils peuvent courir sélénium. : -) p> blockQuote>
Vous devez consulter TaskSchDuler pour Windows ou Cron pour Linux. Mais vous voulez que votre code fonctionne pendant que le PC est éteint ...?
Le réveil sur LAN pourrait aider à démarrer le PC avec des scripts, dans ce cas, le planificateur doit fonctionner sur un autre PC qui fonctionne toujours aussi. Mauvaise pratique à
importer script1 code> qui exécutez quelque chose, définissez simplement la fonction, puis dans Script3
de script1 Importer exemple1 code> et exécutez-le
Exemple1 () Code>. Les applications de planificateur tentent de fonctionner sans beaucoup de chargement de la CPU.