Script periodisch von Cron oder durch While loop starten?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
monotek
Beiträge: 227
Registriert: 20.07.2004 15:25:11
Wohnort: dresden

Script periodisch von Cron oder durch While loop starten?

Beitrag von monotek » 04.12.2006 08:13:53

Ich habe ein Script welches ich mindestens jede Minute ausführen will.
Ich habe die Möglichkeit das Script durch Cron starten zu lassen oder im Script selbst ein While Loop zu verwenden.
Was ist der bessere Weg dafür und warum?

Mir hat kürzlich jemand gesagt, dass der While Ansatz nicht gut wäre, ist aber leider eine Erklärung schuldig geblieben. Googeln brachte auch nichts.

Wer kann helfen?
Mir würden auch Links zu entsprechender Literatur reichen.

Danke!

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 04.12.2006 09:20:50

Ich würde cron nehmen. Einfach weil cron genau für sowas gedacht ist.

Benutzeravatar
monotek
Beiträge: 227
Registriert: 20.07.2004 15:25:11
Wohnort: dresden

Beitrag von monotek » 05.12.2006 12:29:37

Schon klar. Trotzdem würde ich gern verstehen, wo genau der technische Nachteil des While Loops ist?

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 05.12.2006 12:33:09

Stürzt der loop aus irgendwelchen Gründen ab, dann läuft dein script nicht mehr.
Cron ist erprobt und stabil es ist also sehr unwarscheinlich und dementsprechend sicherer, dass dein Script ausgeführt wird.

Der nächste Vorteil von cron ist, dass du Zeitpunkt und ausführungshäufigkeit genau justieren kannst, ohne das eigentliche Script anfassen zu müssen.
Perl macht Spass.

Benutzeravatar
monotek
Beiträge: 227
Registriert: 20.07.2004 15:25:11
Wohnort: dresden

Beitrag von monotek » 05.12.2006 14:19:38

Danke. Das ist natürlich ein Argument.

Gibts bei der Performance eigentlich Unterschiede?

Benutzeravatar
cpeine
Beiträge: 170
Registriert: 13.08.2003 15:16:22

Beitrag von cpeine » 05.12.2006 15:09:52

Hallo,

das Problem ist, 'cron' an sich ist eher eine Bezeichnung für den Dienst, nicht für das Programm selbst... Es gibt eine ganze Reihe verschiedener Implementationen, daher ist es auch nicht möglich pauschal etwas über die Geschwindigkeit zu sagen.
Es gibt crons die sich merken wann sie wieder ausgeführt werden sollen und schlafen unterdessen. Andere starten sich jede Minute und fragen nach jobs...
Debian nutzt Paul Vixie's cron, welcher zu den letzteren gehört.

Ich denke mal, dass cron keinesfalls Unperformanter ist als eine loop.
Avoid the Gates of Hell, use Linux!

Antworten