Heim > Backend-Entwicklung > PHP-Tutorial > Gearman-Erste-Schritte-Notizen

Gearman-Erste-Schritte-Notizen

WBOY
Freigeben: 2016-08-08 09:23:25
Original
1232 Leute haben es durchsucht

1. Einführung

Gearman ist ein Tool, das Arbeit an andere Maschinen oder Prozesse delegieren kann.
Offizielle Website-Adresse: http://gearman.org/

Gearman besteht normalerweise aus drei Teilen: Client-Worker-Task-Server, Worker führt den vom Client gesendeten Job aus und gibt ihn dann über den Job an den Client zurück Server. Gearman stellt Client- und Worker-APIs bereit und verwendet diese APIs für die Kommunikation mit dem Jobserver.
Dies ist das Funktionsprinzipdiagramm:

2. Installation

Die offizielle Installationsanleitung finden Sie unter: http://gearman.org/getting-started/
Im Folgenden wird der spezifische Installationsprozess in Ubuntu beschrieben:

1. In Ubuntu 14.04 wird Python-Software-Properties durch Software-Properties-Common ersetzt.

<code>sudo apt-get install software-properties-common
sudo add-apt-repository ppa:gearman-developers/ppa
sudo apt-get update
</code>
Nach dem Login kopieren

2 , Entwicklungstools, Upgrade durchführen

<code>sudo apt-get install gearman-job-server libgearman-dev
sudo apt-get install gearman-tools
sudo apt-get upgrade
</code>
Nach dem Login kopieren

3. Wenn keine PECL vorhanden ist, installieren Sie PECL und verwenden Sie PECL, um Gearman (CLI, Client, Worker) zu installieren

<code>sudo apt-get install php-pear
sudo apt-get install php5-dev
sudo pecl install gearman
</code>
Nach dem Login kopieren

4. Ändern Sie php.ini (CLI und Server), um Gearman zu verwenden

<code>sudo vi /etc/php5/cli/php.ini
</code>
Nach dem Login kopieren

Dynamische Erweiterungen hinzufügen:
extension=gearman.so

3. Gearman in PHP verwenden

1. So rufen Sie Gearman in PHP auf

PHP-Version anzeigen

<code><?php print gearman_version() . "\n"; ?>
运行方式:php test.php
</code>
Nach dem Login kopieren

Erstellen Sie einen Worker

<code><?php
    $worker= new GearmanWorker();
    $worker->addServer();
    $worker->addFunction("reverse", "my_reverse_function");
    while ($worker->work());

    function my_reverse_function($job){
      return strrev($job->workload());
    }
?>
</code>
Nach dem Login kopieren

Nachdem Sie dies ausgeführt haben, müssen Sie Strg C drücken, um das Programm zu beenden. Dieser Code erstellt ein Worker-Objekt, fügt den Standardserver hinzu und registriert die Reverse-Callback-Funktion. Das Programm tritt in eine Endlosschleife ein, wobei die Callback-Funktion ausgeführt wird. Dabei wird die Zeichenfolge einfach umgekehrt und dann zurückgegeben.

Erstellen Sie einen Client

Client ähnelt Worker, erstellen Sie die folgende server.php

<code><?php
$client=new GearmanClient();
$client->addServer();
print $client->do("reverse","Hello World!");
?>
</code>
Nach dem Login kopieren

Sehen Sie sich die Ausführungsergebnisse an:

Erstellen Sie einen Image-Resize-Worker

<code><?php
$worker= new GearmanWorker();
$worker->addServer();
$worker->addFunction("resize", "my_resize_function");
while ($worker->work());

function my_resize_function($job)
{
  $thumb = new Imagick();
  $thumb->readImageBlob($job->workload());

  if ($thumb->getImageHeight() > 600)
    $thumb->scaleImage(0, 600);
  else if ($thumb->getImageWidth() > 800)
    $thumb->scaleImage(800, 0);

  return $thumb->getImageBlob();
}
?>
</code>
Nach dem Login kopieren

PHP erfordert ImageMagick-Unterstützung, Installationsmethode:

<code>sudo wget http://www.imagemagick.org/download/ImageMagick.tar.gz
tar -xzvf ImageMagick.tar.gz
cd ImageMagick
sudo ./configure -prefix=/usr/local/imagemagick -enable-lzw -with-modules && make && make install
</code>
Nach dem Login kopieren

Resize-Client

Verwenden Sie hier den Befehl zum Aufrufen der Client

<code>gearman -f resize < full.jpg > thumb.jpg
</code>
Nach dem Login kopieren

2. Verwenden Sie kein PHP, sondern Gearman direkt über die Befehlszeile.

Starten Sie ein Terminal, um den Daemon-Prozess auszuführen

<code>sudo gearmand --daemon
</code>
Nach dem Login kopieren

Starten Sie einen Worker, rufen Sie hier den ls-Befehl auf

<code>gearman -w -f ls -- ls -lh
</code>
Nach dem Login kopieren

Starten Sie einen Client

<code>gearman -f ls < /dev/null
</code>
Nach dem Login kopieren

, um die Ausgabe anzuzeigen.

Referenz-URL: http://gearman.org/getting-started/#client

Das Obige stellt die Verwendungshinweise für den Gearman-Eintrag vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage