jobo: cron-job nur laufen lassen, wenn er nicht schon läuft

Hallo,

mit php (cli) oder per shellskript und moviemagick möchte ich regelmäßig neue thumbs erstellen. dazu einen cron-job, um das zu starten. jetzt würde ich nach 10 minuten den cronjob gerne wieder starten (also intervall von 10 minuten), aber nur, wenn da nicht der letzte noch am werke ist. möglichkeit wäre ja u.u., im php oder shell-skript am ende wieder einen cronjob zu starten, mit 10 minuten latenz. oder geht es besser/eleganter (mit "daemon"?).

Gruß

jobo

  1. Hallo,

    mit php (cli) oder per shellskript und moviemagick möchte ich regelmäßig neue thumbs erstellen. dazu einen cron-job, um das zu starten. jetzt würde ich nach 10 minuten den cronjob gerne wieder starten (also intervall von 10 minuten), aber nur, wenn da nicht der letzte noch am werke ist.

    erstelle zu Beginn des cron-jobs eine Datei. Lösche diese Datei als letzte Aktion. Ist die Datei vorhanden, so läuft noch ein Job - oder es ist ein Problem aufgetreten.

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz,

      merci.

      erstelle zu Beginn des cron-jobs eine Datei. Lösche diese Datei als letzte Aktion. Ist die Datei vorhanden, so läuft noch ein Job - oder es ist ein Problem aufgetreten.

      Also vom Prinzip her das "im Skript" lösen und das Skript selbst merken lassen, ob der Vorgängerjob noch läuft. Klingt performant.

      Gruß

      jobo

    2. Tach,

      erstelle zu Beginn des cron-jobs eine Datei. Lösche diese Datei als letzte Aktion. Ist die Datei vorhanden, so läuft noch ein Job - oder es ist ein Problem aufgetreten.

      ergänzend: speichere in dieser Datei die PID des Prozesses, dann kannst du sogar feststellen, welcher der beiden Fälle aufgetreten ist, der übliche Ablageort wäre dann u.U. /var/run/.

      mfg
      Woodfighter

      1. Hallo,

        erstelle zu Beginn des cron-jobs eine Datei. Lösche diese Datei als letzte Aktion. Ist die Datei vorhanden, so läuft noch ein Job - oder es ist ein Problem aufgetreten.

        ergänzend: speichere in dieser Datei die PID des Prozesses,

        ... auf die ich beim Shellskript/PHPScript wie zugreifen?

        Dank und Gruß

        jobo

        1. Hi,

          ergänzend: speichere in dieser Datei die PID des Prozesses,

          ... auf die ich beim Shellskript/PHPScript wie zugreifen?

          PHP: getmypid()
          In der Shell müsste die PID in $$ stehen.

          mfG,
          steckl