Frage zu footer.tpl

tresor-online

Sehr aktives Mitglied
15. Juni 2015
409
30
Hallo, ich habe gerade ein paar Anpassungen an der footer_custom.tpl vorgenommen und dabei ist mir ein Stück Code aufgefallen, und wollte mal fragen, was der denn macht.

Es handelt sich um diesen Code:

{if $smarty.now % 10 == 0}
<img src="includes/cron_inc.php" width="0" height="0" alt="" />
{/if}

Kann mir wer sagen, was die Funktion von diesem Stück Code ist und wieso eine php Datei als Bild eingebunden wird?

Danke und lg
 

tresor-online

Sehr aktives Mitglied
15. Juni 2015
409
30
Prinzipiell ist mir die Funktion von Cronjobs (in Ansätzen) schon klar. :)
Mir gehts eher um die Art der Einbindung.
Wieso diese if Abfrage? Was muss eintreten, damit die Datei enigebunden wird? $smarty.now ist ja eine Datumsabfrage oder?
und warum die Einbindung der php Datei als img?
Ich würde gerne wissen, was da dahintersteckt...
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.369
345
Halle (Saale)
Das bedeutet nichts anderes als eine prinzipiell 10%ige Wahrscheinlichkeit, dass dieses Bild eingebunden wird.
Als Bild nur deshalb, weil es ja irgendwie durch den Browser aufgerufen werden muss.
 

tresor-online

Sehr aktives Mitglied
15. Juni 2015
409
30
ah, ok, danke! :)
Jetzt eine ganz blöde Frage: Welchen Sinn hat es, dass die Datei mit einer 10%igen Wahrscheinlichkeit eingebunden wird? ^^
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.228
1.961
Berlin
Starte den Cron lieber regelmäßig über einen echten Cronjob, ich war letztens auf einer Seite da dauerte der Cron dann 2min., so lange habe ich gesehen das die Seite noch nicht fertig ist mit laden.

Ich hätte das wenn es durch die User ausgelöst werden soll, eher über einen Ajax-request angestoßen.
Serverseitig über einen echten Cron wäre es auch sicherer, allein schon wegen der Scriptlaufzeit und des eventuell benötigten Speichers.
 

tresor-online

Sehr aktives Mitglied
15. Juni 2015
409
30
Danke für die Antworten! :)
Mit Ajax-request kenn ich mich jetzt leider überhaupt nciht aus. Wie funktioniert das, was muss man da machen, wie kompliziert ist das? ^^
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.228
1.961
Berlin
Das musst du auch nicht, das wäre schön wenn JTL das so machen würde :)

wenn dein Anbieter dir erlaubt den cron als Aufgabe, stündlich oder so aufzurufen, dann solltest du das lieber so machen.
Ansonsten lässt du es eben so wie es ist.
 

tresor-online

Sehr aktives Mitglied
15. Juni 2015
409
30
einen cronjob einzurichten ist kein problem! :)
Also wenn ich einen cronjob anlege, der die datei cron_inc.php anstößt kann ich den Teil aus der footer.tpl entfernen, korrekt?
3 Fragen:
- In welchem Intervall soll das passieren, stündlcih wie du geschrieben hast?
- macht es auch keinen Unterschied, ob die Datei alle 3 Seitenaufrufe oder jede Stunde angestoßen wird?
- Was macht die cron_inc.php überhaupt? ^^
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.369
345
Halle (Saale)
Wie oft du das ganze aufrufst hängt insbesondere davon ab, was du für Aufgaben geplant hast, welche Exportformate erstellt werden und wieviele Artikel pro Aufruf exportiert werden sollen.
Wenn JOBQUEUE_LIMIT_M_EXPORTE auf einen hohen Wert eingestellt ist, kann es reichen, den Cron Nachts im Abstand von ein paar Stunden 2 mal anzuschieben.

Ganz generell prüft die cron_inc.php, welche Jobs anstehen und startet sie ggf - erstellt also Exportformate oder die Mailberichte.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.228
1.961
Berlin
Ja genau das solltest du auch wirklich tun, siehe oben wo ich schrieb das ich Minuten warten musste bis der Browser sagte das die Seite fertig geladen ist, das macht immer ein komisches Gefühl, wenn man denkt da muss doch noch was kommen, da lag es daran, das der cron dabei war, die feeds für die Preissuchmaschinen zu generieren.

Ich weiß nicht ob das Problem der lahmen Erstellung der feeds schon behoben ist, normal würde ich den einfach alle 10 Minuten schauen lassen, ob es was zu tun gibt, wenn der feed noch in der Erstellung ist vom cron davor, sollte ja eine sperre dafür sorgen das die sich nicht überschneiden, könnte ja bei der image Geschichte auch passieren..
PS: hat FMoche schon beschrieben, dass es geprüft wird.
 

tresor-online

Sehr aktives Mitglied
15. Juni 2015
409
30
also JOBQUEUE_LIMIT_M_EXPORTE ist auf 500 eingestellt.
Wir haben ca. 3000 Artikel online und es werden täglich 3 exporte erzeugt.

Habe den cronjob erstellt und in der footer.tpl entfernt.
Ist jetzt auf stündlich eingestellt, sollte das ausreichen?

oh. und danke euch für die Hilfe! :)
 

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.259
1.195
Wir haben ca. 3000 Artikel online und es werden täglich 3 exporte erzeugt.

Ist jetzt auf stündlich eingestellt, sollte das ausreichen?

Wenn täglich nur 3 Exporte erzeugt werden sollen, dann braucht der Cronjob auch nur zu diesen Zeitpunkten laufen.
Klar kannst du jetzt auch stündlich machen, bringt ausser Ressourcenverbrauch (und ein paar vermutlich unnütze Shopstatistiken) jedoch nichts.

Ruf den Cron auf, schau in die Exportdatei und check, wieviele Aufrufe es benötigt das alle Exportformate erstellt werden. In diesen Zeiträumen (10 Aufrufe oder wielang auch immer es dauert) machst deinen Cronjob (3 Min. Intervall) und hängst hinten einfach noch 20-30% zusätzliche in einem Intervall von 3 Min. fertig - dann brauchst den Server nicht unnötig mit sinnlosem Zeug belasten.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.228
1.961
Berlin
Wenn der cron nix zu tun hat belastet er den server ja nicht mehr, bzw. Noch weniger, als wenn ein user eine contentseite aufruft, ich bin da immer ein Freund von, man kann nicht genug haben andere Shopsysteme wie beispielsweise Shopware haben in unterschiedlichen Intervallen, verschiede Sachen, die abgearbeitet werden, da ist ein cron, der min. Alle 15 min. läuft unerlässlich, irgendwann ist JTL eventuell auch soweit, dann musst du es nicht nachträglich erhöhen :) :)
 

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.259
1.195
Bei Shopware laufen unsere Crons auch alle 5 Min. bei JTL ist das doch absolut nicht erforderlich und ein Aufruf ist ein Aufruf und könnte ja auch dann irgendwelche "weniger wichtigen" Statistiken erzeugen.

irgendwann ist JTL eventuell auch soweit, dann musst du es nicht nachträglich erhöhen :) :)

Bis 10 Jahre in die Zukunft merk ich mir etwas....ahhhh, ich weiss worauf du hinauswillst -> ja, lass ihn jede Stunde laufen :D