kostenloser Webspace werbefrei: lima-city


Lange API-Abfrage aus PHP-Skript auslagern

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    floscher

    floscher hat kostenlosen Webspace.

    Hallo,

    ich habe vor kurzem ein PHP-Skript erstellt, welches Daten visualisieren soll.
    Diese Daten stammen von einer JSON-API, die ich bis zu einmal täglich tag/abfrage">abfrage (und auf dem Server als Dateien hinterlegen) möchte, um die Daten einigermaßen aktuell zu halten.
    Bisher prüft das Skript zuerst, wie alt die Daten sind. Wenn diese älter als einen Tag sind, wird eine Abfrage der API mittels cURL durchgeführt. Diese ist schon jetzt recht umfangreich, das heißt, sie hat momentan etwa 20 Sekunden Ausfürungszeit und eine (bisher) etwa 512 kiB große Antwort von der API. Das Ergebnis wird dann noch in ein anderes Format konvertiert und auf dem Server gespeichert. Anschließend wird die Visualisierung ausgegeben.

    Den Prozess der Abfrage und Konvertierung würde ich gerne aufgrund des großen Umfangs (v.a. Dauer) auslagern und optimalerweise automatisch einmal am Tag (es muss nicht unbedingt exakt einmal täglich sein, aber die Daten sollten nie mehr als drei Tage im Verzug sein) ausführen lassen, zumal die Seite in Zukunft wahrscheinlich noch umfangreichere Abfragen durchführen soll.

    Das Problem ist nur, dass ich so etwas noch nie gemacht habe und noch nicht weiß, wie ich da rangehen soll. Was für ein Serverpaket brauche ich dazu und welche Programmiersprache verwende ich dazu am Besten? Die Lösung muss nicht unbedingt auf einem lima-Webspace funktionieren, falls das überhaupt damit ginge.

    Schönen Gruß und schonmal danke für eure Mithilfe,
    floscher
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. floscher schrieb:

    Das Problem ist nur, dass ich so etwas noch nie gemacht habe und noch nicht weiß, wie ich da rangehen soll. Was für ein Serverpaket brauche ich dazu und welche Programmiersprache verwende ich dazu am Besten? Die Lösung muss nicht unbedingt auf einem lima-Webspace funktionieren, falls das überhaupt damit ginge.


    Stichwort: Cronjob

    Letztlich mußt Du nur den Teil deines Scriptes, das die API-Abfrage und das Speichern der Daten auf dem Server erledigt, in eine einzelne php-Datei auslagern und diese mittels eines Cron-Dienstes (z.b.: https://www.cronjob.de/) ein mal täglich aufrufen lassen.

    Eine besondere Programmiersprache brauchst Du dafür nicht und mit einem externen Dienst, kannst Du das auch nutzen, wenn das Skript, das die API abfragt, bei Lima liegt. Paidhoster bieten meist eine beschränkte Zahl an Cronjobs über das jeweilige Userintercace an, womit man sich den externen Dienst spart. Bei einem Job, der auch nur täglich gestartet wird, bringt ein Wechsel aber .keine nennenswerten Vorteile.
  4. Autor dieses Themas

    floscher

    floscher hat kostenlosen Webspace.

    Hallo fatfreddy,
    danke für die schnelle Antwort.

    Ja, das hört sich genauso an, wie ich mir das vorgestellt habe (nur viel einfacher ;-) ). Von Cronjobs habe ich sogar schonmal gehört. Was ich aber noch nicht wusste bzw. in Betracht gezogen habe, dass ich ja zum einen den PHP-Interpreter anwerfen kann und nicht z.B. ein Shellskript oder so verwenden muss. Und zum Anderen habe ich bisher noch nix von solchen Cronjob-Dienstleistern gewusst, deshalb auch meine anfängliche Vermutung, dass man vllt. ein größeres Serverpaket braucht.

    Aber so müsste es ja elegant (und sehr kostensparend) im lima-city-Webspace zu lösen sein. Das werde ich dann wohl auch so umsetzen.

    Weißt Du zufällig, ob solch ein PHP-Skript, das per Cronjob gestartet wird auch den gleichen Zeitlimits für die Auslieferung von PHP-Seiten (ich glaube standardmäßig 30 sec) unterliegt, oder nicht?

    Vielen Dank,
    floscher
  5. floscher schrieb:
    Weißt Du zufällig, ob solch ein PHP-Skript, das per Cronjob gestartet wird auch den gleichen Zeitlimits für die Auslieferung von PHP-Seiten (ich glaube standardmäßig 30 sec) unterliegt, oder nicht?

    Das Limit bleibt bestehen. Letztlich emuliert der Crondienst ja nur einen normalen User, der das Script aufruft.
  6. Autor dieses Themas

    floscher

    floscher hat kostenlosen Webspace.

    fatfreddy schrieb:
    Das Limit bleibt bestehen. Letztlich emuliert der Crondienst ja nur einen normalen User, der das Script aufruft.

    OK, gut zu wissen.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!