Heim  >  Artikel  >  Backend-Entwicklung  >  php-resque: Redis-basiertes Hintergrundaufgabensystem

php-resque: Redis-basiertes Hintergrundaufgabensystem

步履不停
步履不停Original
2019-06-24 17:06:133095Durchsuche

php-resque: Redis-basiertes Hintergrundaufgabensystem

Warum php-resque verwenden?

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-resque Rollenverteilung

  • Job definiert Aufgaben und ist für spezifische Geschäftslogik verantwortlich.
  • Warteschlangenwarteschlange, verantwortlich für Jobspeicherung/-abruf
  • Arbeiter ruft Job aus der Warteschlange ab, um ihn auszuführen. Im PHP CLI-Modus wird es im Allgemeinen im Hintergrund-Daemon-Modus ausgeführt.

Verwenden Sie

Installieren

  • Wenn der Download langsam ist, können Sie den Composer-Inlandsspiegel
composer config -g repo.packagist composer https://packagist.phpcomposer.com
  • php-resque installieren

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-Code

resque-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

    .
  • INTERVALBeispiel

    <?php
    class DemoJob
    {
        public function perform()
        {
            // Work work work
            //echo $this->args['name'];
        }
    }
  • Zu diesem Zeitpunkt ist die Installation und Verwendung von php-resque abgeschlossen.

    PIDFILEDie folgenden Kapitel sind Tool-Plug-ins und dienen nur als Referenz.

  • BACKGROUNDphp resque.php &

  • Schnittstelle

Überwachen Sie den Betriebsstatus von PHP-Resque

Installation

<?php

Resque::setBackend(&#39;localhost:6379&#39;);
$args = array(
      &#39;name&#39; => '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-webDienst starten

QUEUE=counter php resque-worker.php

Projektkonfiguration überwachen

/etc/supervisor/conf.d/lumen_resque.conf

gem install resque-web -v 0.0.8
Vorteile:

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

Sie können die Anzahl der Prozesse festlegensupervisor

Automatischer Neustart

Nach dem Start des Supervisors wird das Skript automatisch gestartet


Gruppenverwaltung

Weitere PHP-bezogene technische Artikel finden Sie in der Spalte
    PHP-Tutorial
  • , um mehr zu erfahren!

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!

Stellungnahme:
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