Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo Liebe Community,

ich habe ein Problem, wo ich wahrscheinlich ich nicht der erste bin.

Zum Script: Es ist ein Tool, dass Daten von einer MySQL Datenbank, in eine Oracle, MSSQL oder eine andere Datenbank hin / her schaufelt. Das klappt soweit ganz gut.

Das Script läuft je nach Kunde unter einem Mac, Linux oder auch einem Windows Rechner.

Es geht darum, dass das Script nicht mehrfach laufen darf. Sondern nur einmal gestartet werden soll.

Als wir nur Linux Kunden hatten, haben wir es in der .sh eingestellt. Da geht das Relativ einfach. Jedoch haben wir nun auch Kunden, wo der Cronjob direkt über http aufgerufen wird. Oder auch Windows / Mac Kunden, wo das nicht so einfach ist.

Da ich da flexibel sein möchte, soll die gesamte Logik im PHP Script implementiert werden.

Ganz Primitiv gesagt:

1. Ich Prüfe ob es eine "isrunning.txt" gibt. Existiert diese, breche ich das Script ab

2. Ich lege eine "isrunning.txt" an

3. Führe meine Funktionen aus

4. Lösche die "isrunning.txt", dass das Script wieder ausgeführt werden kann.

Wir haben auch bereits Workarounds, dass der Cronjob einfach eine höhere Laufzeit bekommt. Jedoch ist dass nicht das Ziel, dass es in Echtzeit läuft.

Wenn in Punkt 3 (Funktionen vom Cronjob) ausgeführt werden, wird einfach ein try / catch drum herum gemacht, so das falls ein Fehler passiert, das nicht von einem Neustart abhält.

Wovor ich angst habe, ist ein Timeout vom Server. Das ist das Hauptproblem was ich habe.

Was kann ich da tun? Wie kriege ich das mit?

Was gibt es noch für Methoden / Dinge die ich beachten muss?

Vielen Dank / Liebe Grüße

errox

Servus!

Ich würde mit der PID arbeiten.

Mittels int getmypid ( void ) abfragen, und diese dann in myscript.pid schreiben.

Danach kannst Du bei jedem Scriptstart die PID in myscript.pid mit der aktuellen PID validieren und ggf. demnach auch reagieren.

Viel Erfolg!

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.