Email reminder zu anstehenden Spielen

Ich habe einen Blog Artikel verfasst - Wie benutze ich die Suche richtig - Bitte diesen beachten und auch umsetzen bevor Ihr ein Neues Thema eröffnet!

  • Sry für die vlt dumme frage 🙈

    Würd ich jetzt nicht unbedingt sagen. Ich weiß aber nicht, wie das bei klassischen Webhostern und speziell in deinem fall All-Inkl abläuft bzw was es da für Funktionen und Optionen gibt. Ggf kannst Du in der webbasierten Konfiguration der Webseite Cronjobs hinterlegen.


    Ich hab das Tippspiel auf einem meiner Server und die Shell ist mein Freund. ;-)

  • Ggf kannst Du in der webbasierten Konfiguration der Webseite Cronjobs hinterlegen.

    das sollte auf jeden fall funktionieren

    Zufrieden mit dem Script und dem Support? Möchtest du uns unterstützen?

    Dann könntest du etwas
    SPENDEN


    *** Benutze die Suchfunktion und zeige Eigeninitiative ***
    *** Bitte fülle deine Profildaten aus, sonst können wir dir nicht helfen! ***
    *** Wenn dir der Beitrag eines Users geholfen hat, tut ein Klick auf den Gefällt-Button nicht weh ***

  • Okay ssh dachte ich mir fast. Das geht in meinem gebuchten Tarif leider nicht.


    Cronjob auch nur mit extra Kosten. Dann muss ich mal warten ob FiedlWdd da was einbaut.

    Lebenswichtig ist es jetzt aber nicht, da lieber haben tipper was vergessen zu tippen :D aktuell sollte ja jeder wissen das jeden tag ab 15 uhr spiele sind ;)

  • Okay ssh dachte ich mir fast. Das geht in meinem gebuchten Tarif leider nicht.


    Cronjob auch nur mit extra Kosten. Dann muss ich mal warten ob FiedlWdd da was einbaut.

    Lebenswichtig ist es jetzt aber nicht, da lieber haben tipper was vergessen zu tippen :D aktuell sollte ja jeder wissen das jeden tag ab 15 uhr spiele sind ;)

    Naja, wenn es in deinem Tarif nicht enthalten ist, es gibt ja auch noch kostenlose Anbieter, wo Cronjobs anbieten. Musste mal googeln.

  • furious1 wollte mal ganz frech fragen, ob Du es Dir vorstellen kannst, diesen dirty hack auch für den Bundesligabetrieb zur Verfügung zu stellen. Bzw an sich für den Betrieb mehrerer Wettbewerbe, bei uns sind es 1. BL, 2. BL und DFB-Pokal.


    Ich bin kein Programmierer, aber vielleicht ist eine Modifizierung ja nicht so aufwändig? Wenn das Script prüft, ob für einen der drei Wettbewerbe Spiele anstehen und, wenn der User da schonmal aktiv war, er dann ne Mail bekommt oder eben auch nicht. Im Zweifelsfall gibt es dann halt mehrere Mails an einem Tag, eine je Wettbewerb, so da parallel Spiele anstehen. Wäre als dirty hack besser wie aktuell keine Tipperinnerung. Und nächste Woche geht ja bereits die 2. BL los.

  • wäre es schön, wenn für alle nutzbar wäre und vom Web aus auch angesteuert werden könnte.

    Da kommen wir aber zu zwei Punkten, die eher für eine Integration in den Core sprechen wie ein dirty hack.


    Das Ziel sollte natürlich sein, dass diese Funktion wieder ins Tippspiel kommt, klar. Verbunden mit der Option, dass man als User für sich selbst und als Admin für alle diese Erinnerungen ein- und ausschalten kann. Vermutlich muss das je Wettbewerb passieren oder es wird abgefragt, ob der User in der aktuellen Spielzeit in dem jeweiligen Wettbewerb aktiv war.

  • So, ich bin mal hergegangen und habe den Patch von furious1 erweitert auf 1. BL, 2. BL und Pokal. Anbei die Dateien.


    Leider hatte ich Probleme, die richtigen "Runden", also z.B. Hin- und Rückrunde, zu selektieren, daher habe ich das in den Dateien SendTipRemindersBL1.php, SendTipRemindersBL2.php und SendTipRemindersDFB.php manuell eingebaut. Das müsst Ihr je Tippspiel modifizieren und das Statement befindet sich jeweils in Zeile 153:


    Code
    1. ->where('round_id', '=', ['138', '139'])

    Bei 1. BL und 2. BL ist es das dann gewesen für die Saison, aber beim DFB-Pokal müssen hier dann später, sobald die Daten vorliegen, die weiteren Runden nach der 2. Hauptrunde mit hinterlegt werden.


    Hinweis: Ich bin kein Coder. ?( Daher habe ich mir hier vermutlich von hinten mit der Pistole das Auge ausgeschossen. Vielleicht hat ja jemand eine Idee, wie man das dynamisch machen kann. Ich hab diese Runden einfach nicht korrekt selektiert bekommen.


    Jedenfalls, weiter im Text:


    Zusätzlich muss noch in der app/Console/Kernel.php folgendes geändert werden (wobei aktuell nur die Änderungen bei $commands benötigt werden, die unteren Änderungen bei $schedule kann man vorerst ignorieren):

    Zusätzlich muss das ganze noch in den Cron vom Server eingebaut werden. Bei mir schaut das so aus:

    Code
    1. 0 1 * * * web646 php8.3 /var/www/xtipp.gdngs.de/web/artisan app:send-tip-reminders-bl1 >/dev/null 2>&1
    2. 1 1 * * * web646 php8.3 /var/www/xtipp.gdngs.de/web/artisan app:send-tip-reminders-bl2 >/dev/null 2>&1
    3. 2 1 * * * web646 php8.3 /var/www/xtipp.gdngs.de/web/artisan app:send-tip-reminders-dfb >/dev/null 2>&1

    web646 ist der Benutzer, unter dem der vHost mit dem Tippspiel läuft. Bei Euch wäre das sicherlich entsprechend anzupassen, natürlich auch das Verzeichnis, in dem sich artisan befindet. >/dev/null 2>&1 sorgt dafür, dass es keine Ausgabe per Mail an Serveradmin oder so gibt. Das muss ggf weggelassen oder der Cronbefehl generell ganz anders hinterlegt werden, beispielsweise, wenn man die Cronbefehle über ein Webinterface beim Webseitenprovider einpflegt.


    Test/Dry Run (es werden keine Mails an die User versendet) auf der Servershell/-console im Webverzeichnis mit:

    Code
    1. sudo -u web646 php8.3 artisan app:send-tip-reminders --dry-run

    Ist wie gesagt nicht schön, das schrieb furious1 ja auch schon, aber praktikabel. V.a., weil bei uns halt doch schon einige 2. BL tippen. Erstmal bin ich so sehr happy.


    So würden Benutzer, die mehrere Wettbewerbe tippen, auch mehrere Mails bekommen, so an dem Tag, an dem die Cronjobs um 1:00, 1:01 und 1:02 Uhr nachts versendet wird, in mehreren Wettbewerben Spiele anstehen, für die es einen Tipp gibt.

  • Danke Roi , ich wollt es gerad mal so einbauen, wie von Dir beschrieben. Vorab bin da auch nicht der Experte. Ich bin bekomm beim "Online-Testen" schon ne Fehlermeldung, Bei mir schaut schon die Kernel.php anders aus. Alles weitere mit Änderungen hatte ich soweit gemacht.

    Ich hab derzeit bei ip-projects.de einen höherwertigen Webhoster-Account, nicht mehr den früheren vServer-Account. Und früher hatte ich es immer geschafft, die Cronjobs individuell mir einzubauen (altes Buli-Script 4.12)

    Servus kaikiste


    da bin i dahoam


    xTipp: 1.0.23 -> brbuli.de -> na ja... läuft, aber mit noch Schwächen
    bulitipp 4.1.2 -> old.brbuli.de (Archiv) php7.4.3



  • Bei mir schaut schon die Kernel.php anders aus.

    Ich hab oben einen Diff eingestellt. Die Originaldatei schaut bei mir so aus:

    Verändert in:

    Wenn Dein Original so ausschaut, solltest Du einfach meine veränderte Datei komplett per copy-paste übernehmen können.

    Ich bin bekomm beim "Online-Testen" schon ne Fehlermeldung

    Was meinst Du mit "Online-Testen"? Über Web kannst Du das imho nicht aufrufen.

    Und früher hatte ich es immer geschafft, die Cronjobs individuell mir einzubauen (altes Buli-Script 4.12)

    Beim alten BuLiTipp wurden die Cronjobs über Web angesprochen. Das ist hier anders.


    Aber wie Du sagst, wenn das ein höherwertigeres Paket ist, kannst Du ggf auch Scripte direkt auf dem Server starten.

  • Dank Dir erstmal:

    Ich hab dein zip-Paket heruntergeladen, die Tipreminder-Datei bl2 an bl3 angepasst mit den laut meiner DB-Tabellen Rounds bzw. seasons angepasst.

    In der Kernel.php hab ich analog wie Du den Tipreminder 1.BL und 3.BL php-Datei mal eingebaut unter 'protected $commands' eingebaut.


    Die Einträge unter 'protected function' hab ich vorerst rausgelassen...


    Beim Webhoster unter der Domain 'geplante Aufgaben' kann ich die Cronjobs anlegen. Beim Aufgabentyp bin ich mir halt jetzt sehr unsicher, beim Script 4.12 war es immer per URL.


    Bildschirmfoto 2024-08-15 um 12.33.58.png


    Und hier die Fehlermeldung, welche mich jetzt doch leider überfordert.


    Bildschirmfoto 2024-08-15 um 12.22.41.png


    Und spätestens jetzt steig ich aus - ich kann nur vermuten, dass da noch ein Link zur Datei ab dem Root nicht passt?

    Servus kaikiste


    da bin i dahoam


    xTipp: 1.0.23 -> brbuli.de -> na ja... läuft, aber mit noch Schwächen
    bulitipp 4.1.2 -> old.brbuli.de (Archiv) php7.4.3



  • Vielleicht musst da da den komplett richtigen Pfad angrebrn, also mit den Unterordnern?

    Nur ne vermutung :/

    Zufrieden mit dem Script und dem Support? Möchtest du uns unterstützen?

    Dann könntest du etwas
    SPENDEN


    *** Benutze die Suchfunktion und zeige Eigeninitiative ***
    *** Bitte fülle deine Profildaten aus, sonst können wir dir nicht helfen! ***
    *** Wenn dir der Beitrag eines Users geholfen hat, tut ein Klick auf den Gefällt-Button nicht weh ***

  • Ja, eventuell fehlt nur ein / vor dem var?

    Vielleicht musst da da den komplett richtigen Pfad angrebrn, also mit den Unterordnern?

    Nur ne vermutung :/

    Ich dank Euch beiden, muss mir das am WE noch einmal genauer anschauen. Mit dem relativen Pfad scheint es nicht zu funktionieren (auch mit Slash vor dem var).

    Servus kaikiste


    da bin i dahoam


    xTipp: 1.0.23 -> brbuli.de -> na ja... läuft, aber mit noch Schwächen
    bulitipp 4.1.2 -> old.brbuli.de (Archiv) php7.4.3



  • Mit dem relativen Pfad scheint es nicht zu funktionieren (auch mit Slash vor dem var).

    Slash als erstes wäre dann ja absolut und sollte, so der Pfad korrekt ist, auf jeden Fall gefunden werden. Wenn Du PHP-mäßig nicht in ner Sandbox bist und der Pfad dadurch ein anderer ist? Ggf musste beim Support nachfragen, wie Du ein PHP Script direkt startest. Wie gesagt, bei mir mache ich ja noch die passende PHP Binary davor.

  • Danke Roi , leider noch nicht wirklich... Gestern hatte ich den Reminder womöglich zum Laufen gebracht. Diesen manuell gestartet, da kam die Meldung "There are no games today" oder so ähnlich. Das klang schon mal vielversprechend.


    Heute morgen um 3:33 Uhr wurde der Cronjob ausgeführt, aber es wurde - zum Glück - keine Mail verschickt, denn diese wäre an aktive und nichtaktive User rausgegangen. Anbei der Screenshot, den ich bekomme, sobald ein Cronjob einen Fehler produziert.


    Tippreminder_fehlerhaft.jpg


    Today's Games: 32715 - ganz schön viel Spiele heute ???? Vielleicht ist das auch die ID vom heutigen Spiel, muss mal in meiner DB schauen....

    Ignoring User - ja er hat alle User, ob aktiv oder nicht aktiv ignoriert.

    Servus kaikiste


    da bin i dahoam


    xTipp: 1.0.23 -> brbuli.de -> na ja... läuft, aber mit noch Schwächen
    bulitipp 4.1.2 -> old.brbuli.de (Archiv) php7.4.3