Heim > Artikel > Backend-Entwicklung > php-resque: Redis-basiertes Hintergrundaufgabensystem
php-resque ist ein leichtes Hintergrundaufgabensystem basierend auf Redis mit einfachem funktionalem Design und flexibler Konfiguration. Im Vergleich zum MQ-System, das groß und umfassend ist, sieht dieses klein und schön aus.
PHP CLI
-Modus wird es im Allgemeinen im Hintergrund-Daemon-Modus ausgeführt.
composer config -g repo.packagist composer https://packagist.phpcomposer.com
alte Version
Composer konfigurieren : Dieses Paket wird aufgegeben und nicht mehr gepflegt. Stattdessen wird das Paket resque/php-resque verwendet 🎜>
Vorgang in die Warteschlange stellenresque/php-resque
composer require "chrisboulton/php-resque 1.2"
Worker-Coderesque-worker.php
composer require resque/php-resque
Start Worker Die Umgebungsvariablen von
sind:
– Dies ist notwendig und bestimmt, welche Aufgaben der Worker ausführen wird. Die wichtigsten kommen zuerst, wie zum Beispiel QUEUE=notify,mail,log . Es kann auch auf QUEUE=* gesetzt werden, um alle Aufgaben auszuführen.– Optional, wird zum Laden von Dateien verwendet. Sie können es auf APP_INCLUDE=require.php setzen und alle Jobklassen in require.php einführen.
php-resque
– Legen Sie die Anzahl der Arbeiter fest, der Standardwert ist 1 COUNT=5.
QUEUE
– Legen Sie die IP und den Port von Redis fest. Wenn nicht festgelegt, wird standardmäßig eine Verbindung zu localhost:6379 hergestellt.
APP_INCLUDE
, VERBOSE – Protokoll festlegen, VERBOSE=1.
COUNT
– Ein detaillierteres Protokoll, das geöffnet und angezeigt werden kann, wenn VVERBOSE=1 debuggt.
REDIS_BACKEND
– Das Intervall, in dem der Arbeiter die Warteschlange überprüft. Der Standardwert beträgt fünf Sekunden INTERVAL=5.
LOGGING
– Wenn Sie ein Abrechnungsmitarbeiter sind, können Sie PIDFILE angeben, um die PID zu schreiben, zum Beispiel PIDFILE=/var/run/resque.pid.
VVERBOSE
Sie können resque zur Ausführung in den Hintergrund werfen. Oder verwenden Sie einfach
INTERVAL
Beispiel
<?php class DemoJob { public function perform() { // Work work work //echo $this->args['name']; } }
PIDFILE
Die folgenden Kapitel sind Tool-Plug-ins und dienen nur als Referenz.
BACKGROUND
php resque.php &
Installation
<?php Resque::setBackend('localhost:6379'); $args = array( 'name' => 'hanmeimei', ); Resque::enqueue('default', DemoJob::class, $args);Ausführen
<?php $redis_dsn = '127.0.0.1:6379'; putenv("REDIS_BACKEND=$redis_dsn"); // 引入队列的入口程序 $resque = realpath(dirname(__FILE__) . '/vendor/chrisboulton/php-resque/resque.php'); require_once $resque;
Überwachen
resque-web
Dienst startenQUEUE=counter php resque-worker.php
Projektkonfiguration überwachen
/etc/supervisor/conf.d/lumen_resque.confgem install resque-web -v 0.0.8Vorteile:
Sie können das Programm so konfigurieren, dass es nach einem abnormalen Beenden automatisch neu gestartet wirdGeben Sie an Benutzer zum Ausführen des Programms
supervisor
Gruppenverwaltung
Das obige ist der detaillierte Inhalt vonphp-resque: Redis-basiertes Hintergrundaufgabensystem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!