php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-11-2010, 12:25
DaBasha
 Registrierter Benutzer
Links : Onlinestatus : DaBasha ist offline
Registriert seit: Nov 2010
Beiträge: 12
DaBasha befindet sich auf einem aufstrebenden Ast
Exclamation pcntl_fork unter Windows? oder alternative Lösungsvorschläge

Hallo Leute, nachdem meine Internetrecherche langsam an einen toten Punkt angelangt bin, traue ich mich mal mein Problemchen selber zu schildern.

Zur Situation: Ich arbeite mich seit 2 Wochen in PHP und MySQL ein da ich für eine Studienarbeit (ich bin kein Informatiker) ein Wirtschaftsplanspiel programmieren soll. Warum gerade PHP und MySQL? Im Gegensatz zu vielen anderen Planspielen sollen sich hier die einzelnen Gruppen möglichst "in Echtzeit" gegenseitig manipulieren können. Es läuft also letzendlich auf ein kleines Browsergame hinaus... (bitte keine "ohmeingottlassesseinduwirstnurunglücklichdamit"-Posts, die hatte ich schon )

Die Situation in der ich gerade Stecke sind Prozesse, die erst nach einer Zeit X fertig sein sollen, so zum Beispiel die Lieferzeit einer Fracht o.ä. Ich persönlich hatte jetzt erstmal daran gedacht, einen Prozess zu forken der im Hintergrund die x sekunden oder was auch immer rumsleept. Das Problem auf das ich jetzt gestoßen bin und für das ich noch keine richtige Lösung gefunden habe: forken läuft nur unter UNIX-Systemen soweit ich das verstanden hab. Ich hab zwar ne php-binary von 2003 gefunden mit der das laufen soll, aber die war noch für php4.
Meine erste Frage lautet also: Kann man mit php5 auf Windows forken o.ä. und wie geht das?

Ich hab mich natürlich auch noch über Crons ein bisschen schlau gemacht, allerdings würd ich ungern einfach nen cron bei mir einrichten, der alle paar Sekunden schaut ob was gemacht werden soll. Momentan nutz ich meinen Laptop fürs development und da ich nicht die große ahnung hab was passiert wenn ich den plötzlich mit diversen crons zumülle, wollte ich da erstmal die Finger von lassen bevor ich fundierte Tips bekommen hab.
Es wäre natürlich besser wenn ich mit PHP Crons schreiben und wieder löschen könnte, allerdings habe ich auch dafür eigentlich nur UNIX-Beispiele gefunden.
Meine zweite Frage lautet somit: Kann man mit PHP Crons unter Windows schreiben und löschen und wie geht das?

Dann hätte ich noch eine dritte Frage: Hättet ihr eine komplett andere Idee wie man das machen könnte/sollte?


Generelle Informationen:
Ich nutze auf Windows Vista 32bit EasyPHP 5.3.3. als Development-Oberfläche. (bitte kein Vista-Rant , ich sitz hier in Südafrika und hab keine externe Festplatte zur Verfügung um nen Backup zu machen und dann Windows7 drauf zu ziehen)

Vielen Dank schonmal
Martin
Mit Zitat antworten
  #2 (permalink)  
Alt 09-11-2010, 12:43
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Du willst Prozesse erzeugen, die eine bestimmte Zeit nichts tun (sleep) und dann ... ja was dann? Was macht so ein Prozess nach Ablauf der Zeit?
Das Beispiel Frachtlieferung legt nahe, dass lediglich ein Eintrag in der DB gemacht wird. Nachfolgend gehe ich davon aus, dass alle deine zu forkenden Prozesse ähnliche funktionieren und nach Ablauf der Zeit lediglich irgendwelche kleinen Datenmanipulationen vornehmen.

Dafür brauchst du keine Prozesse forken! An der Stelle im Programm, wo du eigentlich einen Prozess starten würdest, kannst du auch gleich die Datenmanipulation vornehmen, die dieser Prozess später machen würde. Aber dabei vermerkst du irgendwie*, dass diese Daten erst ab Zeitpunkt X = NOW() + Sleep-Interval gültig sind.

*) Du kannst die Daten direkt in der vorgesehenen Tabelle manipulieren und in einer zusätzlichen Spalte einen Zeitstempel speichern, ab dem die Daten "gültig" sind. Alle Abfragen beschränkst du dann mit "WHERE Zeitstempel >= NOW()". Oder du schiebst die Daten z.B. in Form einer fertigen SQL-Query "INSERT INTO freight ..." in eine zusätzliche Tabelle jobs(query, when). Ein Cronjob holt sich regelmäßig mit "SELECT query FROM jobs WHERE when <= NOW()" alle anstehenden Aufgaben, führt query aus und entfernt den Datensatz (oder setzt ein Erledigt-Flag in einer weiteren Spalte). Dazu brauchst du nur einen einzigen Cronjob und der macht, was sonst direkt im Script stattfinden würde. Deine Maschine wird das locker verkraften. ;-)
Mit Zitat antworten
  #3 (permalink)  
Alt 09-11-2010, 13:04
DaBasha
 Registrierter Benutzer
Links : Onlinestatus : DaBasha ist offline
Registriert seit: Nov 2010
Beiträge: 12
DaBasha befindet sich auf einem aufstrebenden Ast
Standard

Joo, vielen Dank!! Damit kann ich arbeiten!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP unter IIS mit Windows-ACL yunnosh Webmaster 0 22-01-2006 15:15
ldap_bind klappt mit XAMPP unter Windows, nicht aber unter Linux The Sidewinder PHP Developer Forum 3 14-03-2005 11:09
Windows NT - Mail - multipart/alternative Sebastian W PHP Developer Forum 6 16-01-2004 19:02
Lösungsvorschläge MoscheCarlo PHP Developer Forum 2 11-08-2003 13:19
LINUX als alternative zu WINDOWS? Berni Linux und Unix 3 14-03-2002 12:50

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:57 Uhr.