Jump to content

Script nach bestimmten Wert anhalten und dann wieder fortsetzen


Recommended Posts

Hallo Leutz heute muss ich mich mal wieder Hilfesuchend an euch wenden.


Ich habe zwar zu meinem problem eine Idee, aber momentan weis ich nur nicht wie umsetzen.


Und zwar programmiere ich gerade an meinem Newsletter in meinem online Shop Script. Nun kann es aber sein das mal sehr viele Emailadressen drin stehen und das Script abbricht wenn maximale Zeit erreicht ist. So wiet so gut.


Meine Idee ist nun folgende. Ich lese die Emailadressen Tabelle aus und ermittel erst mal die Gesamtzahl an vorkommenden Empfängern. Dann lese ich die Tabelle noch mal aus für den Mailversand. In der whileschleife versende ich dann nach und nach die Email an die Empfänger und lasse in der Schleife einen Zähler mitlaufen. Und aller 50 versendeten Mails soll das Script abbrechen und dann wieder die nächsten 50 Mails versenden und das so lange bis nichts mehr da ist.

Das wieder ansetzen des Scriptes zum Weiterversand will ich dann mit einem meta refresh machen.


Soweit zur Theorie, nur weis ich momentan überhaupt nicht wie ich das grad umsetzen soll Programmtechnisch.


Hier men derzeitiger code,ab hier weis ich nicht mehr weiter.


Ich muss da den Vergleich finden ob die Zählvaribable entweder 50 ist oder eben dann immer wieder 50 höher ist, da dann den abruch machen und immer per meta refresh weiter senden bis der Vergleich der Zählervariablen mit dem Gesamtempfengerwert gleich ist und dann komplett das Script beenden.


 

Also wenn Ihr mir da ein wenig Hilfestellung geben könntet wäre das super genial für euch.


Gruß litter

Link to post
Share on other sites

check doch einfach ob deine mitlaufende variable $start 50 ist... Wenn ja.. dann ruf die Seite einfach nochmal auf.. und übergib ein offset für den nächsten Schub an Versendungen. Brauchst natürlich dann auch noch eine 2te Mitlauf-Varianle, die die Anzahl der Durchgänge zählt ($i).



ungefähr so:


 

Hoffe ich hab nichts vergessen. Sollte aber ja auch erstmal nur ein Denkanstoss sein.

Schön find cih die Lösung ehrlich gesagt irgendwie nicht.

Link to post
Share on other sites

Soll bringen, dass bei einem Dateiaufruf maximal 50 mal sendmail() aufgerufen wird, um die maximal Scriptlaufzeit nicht zu überschreiten.


Hab selber gesagt das ich die Lösung nicht gerade schön finde.

Hast du eine andere Idee?


Ist nicht trotzig gemeint. Würde mich echt interessieren, wie man so ein Problem umgehen könnte außer so "dreckig".

Link to post
Share on other sites

Wie wäre es mit der Idee, dass man einen Timer und einen Zähler mitlaufen lässt. Den Timer vergliecht man bei jedem Durchgang mit der max_execution_time. Kurz bevor die max_execution_time überschritten wird ruft man einfach das Script erneut auf, übergibt den Zähler und macht da weiter wo man aufgehört hat.

Link to post
Share on other sites

Das hat aber einen Haken, man müsste die letzte Empfenger ID speichern und dem Script dann sagen das es bei der darauffolgenden wieder weitermachen soll.


Da ist die Variante das mit einem reinen Zähler zu machen besser. Ich habe schon überlegt das in Form wie einer Blätterfunktion zu machen, aber da weis ich momentan auch grad nicht weiter.

Link to post
Share on other sites
  • 2 weeks later...

Jo, aber du bist ja auch dein EIGENER Admin [:o] ....

Tja Litti, ich würd sagen, wenn du nicht mit der BASH rankommst, hast du den falschen Provider...


Da fällt mir ein.... Ich brauch schon wieder nen Webserver. Hat der powie noch Kapazität :wink: ?

[ot]

Werbung

Wollt damit nur sagen.... da wirst du rundum glücklich sein. Für kleines Geld: SSH, cronjobs, etc...

[/ot]



lG Henrik

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...