PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Search Results

Gearman Worker verbinden sich nach Upgrade nicht mehr

with 5 comments

Heute ein kurzer Tipp bezüglich PECL/gearman: Wenn ihr bei der Nutzung einer aktuellen Version den folgenden Fehler bekommt

send_packet(GEARMAN_COULD_NOT_CONNECT) Failed to send server-options packet
-> libgearman/connection.cc:430

dann liegt es daran dass ihr keinen Port beim Aufruf der Methode GearmanClient::addServer() angegeben habt. Bisher war der zweite Parameter optional und als Default wurde 4730 genommen, aber seit einigen Versionen (welcher genau kann ich nicht sagen) scheint er angegeben werden zu müssen. Wir benutzen aktuell PECL/gearman Version 1.1.1 kompiliert mit libgearman 1.1.5

Falls ihr also Gearman nutzt und den zweiten Parameter noch nicht gesetzt habt, fügt ihn am besten jetzt schon hinzu, damit ihr bei einem Upgrade in der Zukunft keine Probleme bekommt.

Hier habe ich die Lösung gefunden (wäre ich selbst wahrscheinlich nie drauf gekommen):
http://stackoverflow.com/questions/14883681/gearman-gives-me-gearman-could-not-connect-it-is-definitely-running
https://answers.launchpad.net/gearmand/+question/221277

Written by Michael Kliewe

April 8th, 2013 at 3:22 pm

Javascript Web Worker

without comments

Ergänzend zu einem älteren Artikel über Google Gears hier eine kurze Statusmeldung: Mittlerweile sind die modernen Browser (zur Zeit Firefox 3.5, Safari 4 und Google Chrome) in der Lage, die Funktionalität der Worker auch ohne das Gears-Plugin anzubieten, sodass man auf eine große Anzahl an Nutzern zurückgreifen kann. Wir werden also in Zukunft vermehrt tolle Seiten mit vielen Effekten und Funktionalitäten sehen, und vielleicht ja auch selbst entwickeln.

Weitere Infos bietet die Suchmaschine eurer Wahl. Einfach nach „Javascript Web Worker“ suchen, es gibt bereits einige Beispiele und auch den Draft, der diese Technik hoffentlich bald zum Standard macht.

Written by Michael Kliewe

Oktober 28th, 2009 at 9:24 pm

Posted in PHP

Tagged with , ,

Algorithmuswettbewerb: Beim Lotto den niedrigsten Gewinn ausschütten

with 42 comments

LottoHeute mal wieder etwas zum Grübeln und in die Tasten hauen, ich habe eine kleine Programmieraufgabe für euch, die ihr mit der Programmiersprache eurer Wahl lösen sollt. Es geht um folgendes:

Nehmen wir an ihr seid Lottoveranstalter und könnt die Ziehung beeinflussen. Die Teilnehmer geben vorher Lottoscheine ab mit ihren Tipps, und ihr möchtet nun errechnen welche 6 Zahlen gezogen werden müssen um den geringsten Gewinn auszuzahlen. Nehmen wir vereinfacht folgende Gewinne an:

3 Richtige: 50 Euro
4 Richtige: 200 Euro
5 Richtige: 5000 Euro
6 Richtige: 300.000 Euro

Uns allen ist bekannt dass es beim deutschen Lotto 6 aus 49 anders abläuft, denn dort wird immer die Hälfte der Einzahlungen ausgeschüttet und auf die Gewinnklassen verteilt, egal welche Zahlen der Veranstalter zieht, er muss immer 50% auszahlen. Dann funktioniert das ganze Denkspiel hier aber nicht 😉

Gegeben ist eine Anzahl an Tipps, beispielsweise:

Read the rest of this entry »

Written by Michael Kliewe

Juli 17th, 2013 at 10:58 am

Zwei Tagestickets für den SymfonySummit in Köln zu verlosen

with 39 comments

SymfonySummit 2013Gerade erhielt ich eine erfreuliche E-Mail: Tobias Schlitt von Qafoo stellt euch 2 Tagestickets für den in 3 Wochen stattfindenden SymfonySummit in Köln zur Verfügung!

Der Summit, der in Köln stattfindet, geht über 2 Tage, nämlich den  4. und 5. Juli 2013. Es gibt noch einen weiteren SymfonySummit in Hamburg im September, Termin vormerken bzw. anmelden! Die beiden Tickets die ihr gewinnen könnt sind für die Kölner Veranstaltung, welchen von beiden Tagen könnt ihr euch aussuchen!

Veranstaltet von SensioLabs und Qafoo werden im Hotel Hopper an beiden Tagen insgesamt 6 Tages-Workshops stattfinden, ihr könnt daraus also einen Power-Workshop auswählen:

  • Einführung in Symfony2
  • Symfony Dependency Injection Container – ein Rundgang auch für Fortgeschrittene
  • Functional Testing in Symfony
  • Doctrine
  • Object oriented Design
  • Test Driven Development

Wenn ihr also Zeit habt und mehr über Symfony bzw. die oben genannten Themen erfahren wollt, schreibt einen Kommentar hier im Blog, die beiden Gewinner werden am 24.6. ausgelost. Viel Glück!

Written by Michael Kliewe

Juni 18th, 2013 at 2:23 pm

Richtige Threads in PHP einfach erstellen mit pthreads

with 29 comments

Wir alle haben gelernt dass PHP kein richtiges Multi-Threading kann, und auch Kindprozesse zu forken ist nicht ganz trivial. Extensions wie PCNTL funktionieren nicht unter Windows und sind schwer zu bedienen. Man kann sich eventuell mit exec() behelfen und damit weitere Prozesse starten, verliert dann jedoch die Möglichkeit, die Prozesse zu synchronisieren oder einfach Nachrichten zwischen ihnen auszutauschen.

Und wer möchte eigentlich Threads in PHP und wofür?

Größere Projekte gehen heutzutage häufig den Weg, für Asynchronität und Parallelität Tools wie Gearman zu nutzen. Mit einem Gearman-Job-Server und einer beliebigen Menge an verbundenen Workern, die auch noch in beliebigen Programmiersprachen geschrieben sein können, kann man eine Menge Arbeit parallelisieren, aber ist eine komplette Gearman-Installation wirklich immer nötig? Gerade für kleinere Projekte ist das sicherlich zuviel, und auf Shared Hosting Platformen kann man keine Worker starten.

Read the rest of this entry »

Written by Michael Kliewe

März 13th, 2013 at 12:26 pm

Posted in PHP

Tagged with , , , ,