suchen
HeimPHP-FrameworkLaravelBeispiele zur Erläuterung der einfachen Verwendung von Laravel-Warteschlangen

Dieser Artikel vermittelt Ihnen das relevante Wissen über Laravel. Er stellt vor allem Laravel-Warteschlangen vor, unter welchen Umständen Warteschlangen verwendet werden, und ich hoffe, dass er für alle hilfreich ist.

Beispiele zur Erläuterung der einfachen Verwendung von Laravel-Warteschlangen

【Verwandte Empfehlung: Laravel-Lern-Tutorial

In diesem Artikel wird die Verwendung von Warteschlangen in Laravel vorgestellt und erläutert, warum Warteschlangen verwendet werden

Wann werden Warteschlangen verwendet?

Zeitaufwändig, z. B. das Hochladen einer Datei und das anschließende Durchführen einiger Formatkonvertierungen usw.

Wenn Sie die Zustellrate sicherstellen müssen, z. B. beim Senden einer Textnachricht, weil Sie die API einer anderen Person aufrufen müssen, besteht immer die Möglichkeit eines Fehlers. Um die Zustellung sicherzustellen, ist daher ein erneuter Versuch unerlässlich.

Zeichnen Sie den Verwendungsprozess auf:

1. Konfigurieren Sie die Warteschlangenkonfigurationsdatei in config/queue.php. Sie können hier die Synchronisierungsverarbeitung auswählen ist wie folgt.

Datenbank

Erstellen Sie eine Datentabellenspeicheraufgabe und führen Sie die Datenmigration aus, nachdem Sie den Befehl artisan ausgeführt haben

php artisan queue:table
php artisan migrate

Redis

Um den Redis-Warteschlangentreiber verwenden zu können, müssen Sie die Redis-Datenbankverbindung in Ihrer Konfigurationsdatei config/ konfigurieren. Datenbank.php.

Wenn Ihre Redis-Warteschlangenverbindung einen Redis-Cluster verwendet, muss Ihr Warteschlangenname das Schlüssel-Hash-Tag enthalten. Damit soll sichergestellt werden, dass alle Redis-Schlüssel für eine bestimmte Warteschlange im selben Hash platziert werden:

'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => 'default',
'retry_after' => 90,
],

2. Erstellen Sie die Aufgabenklasse

Die Aufgabenklasse der Warteschlange befindet sich im Verzeichnis app/Jobs/

php artisan make: Job SaveBusLine: Ändern Sie die Datei wie folgt: Rufen Sie die Warteschlangenmethode im Controller oder im Lager auf:

Supervisor Es handelt sich um eine Prozessüberwachungssoftware auf dem Linux-Betriebssystem, die die Befehle queue:listen oder queue:work automatisch neu startet, nachdem sie fehlgeschlagen sind. Um Supervisor unter Ubuntu zu installieren, können Sie den folgenden Befehl verwenden:

namespace App\Jobs;
use App\Http\Repository\BusRepository;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
class SaveBusLine implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* 任务最大尝试次数。
*
* @var int
*/
public $tries = 3;
/**
* 任务运行的超时时间。
*
* @var int
*/
public $timeout = 60;
private $datum;
/**
* Create a new job instance.
* @param array|object $datum
*
* @return void
*/
public function __construct($datum)
{
$this->datum = $datum;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
BusRepository::getInstent()->updateBusLine($this->datum);
}
}

{Tipp} Wenn die manuelle Konfiguration von Supervisor etwas überwältigend klingt, können Sie die Verwendung von Laravel Forge in Betracht ziehen, das Supervisor automatisch für Ihr Laravel-Projekt installieren und konfigurieren kann.

Supervisor konfigurieren

Supervisor-Konfigurationsdateien werden im Allgemeinen im Verzeichnis /etc/supervisor/conf.d abgelegt. In diesem Verzeichnis können Sie beliebig viele Konfigurationsdateien erstellen, um dem Supervisor mitzuteilen, wie er Ihre Prozesse überwachen soll. Zum Beispiel erstellen wir eine laravel-worker.conf, um einen queue:work-Prozess zu starten und zu überwachen:

use App\Jobs\SaveBusLine;
use Carbon\Carbon;
/***************** 队列操作 start *******************/
SaveBusLine::dispatch($arrayData)->delay(Carbon::now()->addMinute(1));
/***************** 队列操作 end *******************/

Der Befehl numprocs in diesem Beispiel fordert den Supervisor auf, 8 queue:work-Prozesse auszuführen und zu überwachen und sie neu zu starten, wenn sie fehlschlagen . Natürlich müssen Sie den Befehl queue:work redis command ändern, um den Warteschlangentreiber Ihrer Wahl anzuzeigen. Sie müssen auch den Ausführungsbenutzer user = ändern. Informationen zur Verwendung finden Sie in der offiziellen Dokumentation des Supervisors.

5. Behandeln Sie fehlgeschlagene Aufgaben

Manchmal schlagen Aufgaben in Ihrer Warteschlange fehl. Machen Sie sich keine Sorgen, es wird nicht immer alles reibungslos laufen. Laravel verfügt über eine praktische integrierte Möglichkeit, die maximale Anzahl an Wiederholungen einer Aufgabe anzugeben. Wenn eine Aufgabe diese Anzahl an Wiederholungsversuchen überschreitet, wird sie in die Datentabelle failed_jobs eingefügt. Um eine Migrationsdatei für die Tabelle failed_jobs zu erstellen, können Sie den Befehl queue:failed-table verwenden und dann den Befehl migrate Artisan verwenden, um die Tabelle failed_jobs zu generieren:

sudo apt-get install supervisor

Führen Sie dann den Warteschlangenprozessor aus und rufen Sie den Warteschlangenarbeiter auf. Sie sollten beim Befehl den Parameter --tries übergeben. Gibt die maximale Anzahl von Wiederholungsversuchen für die Aufgabe an. Wenn nicht angegeben, wird die Aufgabe für immer wiederholt:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php ~/laravel/artisan queue:work redis --sleep=3 --tries=3
autostart=true
autorestart=true
user=lisgroup
numprocs=8
redirect_stderr=true
stdout_logfile=/home/lisgroup/logs/worker.log

6. Fehlgeschlagene Aufgaben löschen

Sie können die fehlgeschlagene Methode direkt in der Aufgabenklasse definieren, die die Löschlogik der Aufgabe ausführen kann, wenn die Aufgabe fehlschlägt. Dieser Ort eignet sich perfekt, um dem Benutzer eine Warnung zu senden oder den Vorgang der Aufgabenausführung zurückzusetzen. Ausnahmeinformationen, die dazu führen, dass die Aufgabe fehlschlägt, werden an die fehlgeschlagene Methode übergeben:

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-worker:*

[Verwandte Empfehlungen:

Laravel-Video-Tutorial

]

Das obige ist der detaillierte Inhalt vonBeispiele zur Erläuterung der einfachen Verwendung von Laravel-Warteschlangen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:CSDN. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Laravel -Frame -Fähigkeiten teilenLaravel -Frame -Fähigkeiten teilenApr 18, 2025 pm 01:12 PM

In dieser Zeit des kontinuierlichen technologischen Fortschritts ist das Mastering Advanced Frameworks für moderne Programmierer von entscheidender Bedeutung. Dieser Artikel hilft Ihnen dabei, Ihre Entwicklungsfähigkeiten zu verbessern, indem Sie wenig bekannte Techniken im Laravel-Framework teilen. Dieser Artikel wird für seine elegante Syntax und eine breite Palette von Funktionen bekannt und werden in seinen leistungsstarken Funktionen eingraben und praktische Tipps und Tricks bieten, damit Sie effiziente und pflegende Webanwendungen erstellen können.

Der Unterschied zwischen Laravel und ThinkPhpDer Unterschied zwischen Laravel und ThinkPhpApr 18, 2025 pm 01:09 PM

Laravel und ThinkPhp sind beide populäre PHP -Frameworks und haben ihre eigenen Vor- und Nachteile in der Entwicklung. In diesem Artikel wird die beiden Tiefe verglichen und ihre Architektur, Funktionen und Leistungsunterschiede hervorgehoben, um Entwicklern zu helfen, fundierte Entscheidungen auf der Grundlage ihrer spezifischen Projektanforderungen zu treffen.

Laravel -BenutzeranmeldungsfunktionslisteLaravel -BenutzeranmeldungsfunktionslisteApr 18, 2025 pm 01:06 PM

Das Erstellen von Benutzeranmeldungsfunktionen in Laravel ist eine entscheidende Aufgabe. Dieser Artikel bietet einen umfassenden Überblick, der jeden kritischen Schritt von der Registrierung der Benutzer bis zur Anmeldung überprüft. Wir werden in die Leistung der integrierten Überprüfungsfunktionen von Laravel eintauchen und Sie durch das Anpassen und Erweitern des Anmeldesvorgangs auf den spezifischen Anforderungen führen. Wenn Sie diese Schritt-für-Schritt-Anweisungen befolgen, können Sie ein sicheres und zuverlässiges Anmeldesystem erstellen, das Benutzern Ihrer Laravel-Anwendung ein nahtloses Zugriffserlebnis bietet.

Welche Versionen von Laravel gibt es? So wählen Sie die Version von Laravel für Anfänger ausWelche Versionen von Laravel gibt es? So wählen Sie die Version von Laravel für Anfänger ausApr 18, 2025 pm 01:03 PM

In dem LaRavel Framework -Versionsauswahlhandbuch für Anfänger taucht dieser Artikel in die Versionsunterschiede von Laravel ein, um Anfänger bei der Entscheidung über fundierte Entscheidungen zwischen vielen Versionen zu unterstützen. Wir werden uns auf die wichtigsten Funktionen jeder Version konzentrieren, ihre Vor- und Nachteile vergleichen und nützliche Ratschläge geben, um Anfängern zu helfen, die am besten geeignete Version von Laravel auf der Grundlage ihrer Fähigkeiten und der Projektanforderungen auszuwählen. Für Anfänger ist die Auswahl einer geeigneten Version von Laravel von entscheidender Bedeutung, da sie ihre Lernkurve und ihre allgemeine Entwicklungserfahrung erheblich beeinflussen kann.

Wie sehe ich die Versionsnummer von Laravel an? So sehen Sie die Versionsnummer von LaravelWie sehe ich die Versionsnummer von Laravel an? So sehen Sie die Versionsnummer von LaravelApr 18, 2025 pm 01:00 PM

Das Laravel-Framework verfügt über integrierte Methoden, um die Versionsnummer einfach zu sehen, um die verschiedenen Anforderungen der Entwickler zu erfüllen. In diesem Artikel werden diese Methoden untersucht, einschließlich der Verwendung des Befehlszeilen -Tools des Composers, der Zugriff auf .Env -Dateien oder das Erhalten von Versionsinformationen über PHP -Code. Diese Methoden sind für die Aufrechterhaltung und Verwaltung der Versionierung von Laravel -Anwendungen von wesentlicher Bedeutung.

Die neueste Methode zur Verwendung von PHP -Framework LaravelDie neueste Methode zur Verwendung von PHP -Framework LaravelApr 18, 2025 pm 12:57 PM

Laravel ist ein beliebtes PHP-basierter Webanwendungs-Framework, das bei den Entwicklern für seine elegante Syntax und leistungsstarke Funktionen beliebt ist. Die neueste Version führt viele Verbesserungen und neue Funktionen ein, die die Entwicklungserfahrung und die Anwendungsleistung verbessern sollen. Dieser Artikel wird in den neuesten Ansatz von Laravel eingehen und sich darauf konzentrieren, wie diese Updates nutzen können, um leistungsstärkere und effizientere Webanwendungen zu erstellen.

Laravel Framework InstallationsmethodeLaravel Framework InstallationsmethodeApr 18, 2025 pm 12:54 PM

Artikelzusammenfassung: Dieser Artikel enthält detaillierte Schritt-für-Schritt-Anweisungen, um die Leser zu leiten, wie das Laravel-Framework einfach installiert werden kann. Laravel ist ein leistungsstarkes PHP -Framework, das den Entwicklungsprozess von Webanwendungen beschleunigt. Dieses Tutorial deckt den Installationsprozess von den Systemanforderungen bis zur Konfiguration von Datenbanken und das Einrichten von Routing ab. Durch die Ausführung dieser Schritte können die Leser schnell und effizient eine solide Grundlage für ihr Laravel -Projekt legen.

Wie man laravel lernt wie man laravel kostenlos lerntWie man laravel lernt wie man laravel kostenlos lerntApr 18, 2025 pm 12:51 PM

Möchten Sie das Laravel -Rahmen lernen, aber unter keinen Ressourcen oder dem wirtschaftlichen Druck leiden? Dieser Artikel bietet Ihnen ein kostenloses Lernen von Laravel und lehrt Sie, wie Sie Ressourcen wie Online -Plattformen, Dokumente und Community -Foren verwenden, um eine solide Grundlage für Ihre PHP -Entwicklungsreise zu schaffen.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor