


Asynchrone Aufgaben und Planung mit PHP und Google Cloud Tasks
Ob es sich um eine Online-Anwendung oder eine Offline-Verarbeitung von Aufgaben handelt, die asynchrone Aufgabenverarbeitung und -planung ist für Webanwendungen, die verschiedene Aufgaben verarbeiten, sehr wichtig. Um Aufgaben besser zu verwalten, Webanwendungen skalierbar zu halten und die Anwendungsleistung zu verbessern, müssen wir uns auf die asynchrone Aufgabenverarbeitung und -planung verlassen.
Google Cloud Tasks ist ein vollständig verwalteter Dienst, der die einfache Ausführung periodischer und asynchroner Aufgaben über API-Aufrufe erleichtert. In diesem Artikel erfahren Sie, wie Sie asynchrone Aufgaben und Planung mit PHP und Google Cloud Tasks implementieren. Wir erfahren, wie Sie Google Cloud Tasks einrichten und Aufgabenwarteschlangen verwenden.
Bevor wir beginnen, müssen wir das Google Cloud SDK installieren, Google Cloud Tasks einrichten und ein Google Cloud-Projekt erstellen, um den Dienst nutzen zu können.
Google Cloud SDK installieren
Google Cloud SDK ist ein Befehlszeilentool, das häufig zum Verwalten und Ausführen von Cloud-Ressourcen verwendet wird. Sie können das Google Cloud SDK mit dem folgenden Befehl installieren:
curl https://sdk.cloud.google.com | bash
Während des Installationsvorgangs müssen Sie den Anweisungen auf dem Bildschirm folgen und Ihre Google-Kontoinformationen eingeben.
Google Cloud Tasks einrichten
Als nächstes müssen wir Google Cloud Tasks einrichten. In Cloud Tasks besteht eine Aufgabe aus drei Schlüsselelementen: Aufgabenwarteschlange, Aufgabe und Ausführer.
Eine Aufgabenwarteschlange ist eine Ressource mit einem bestimmten Namen, die es Ihnen ermöglicht, neue Aufgaben zu platzieren. Namen von Aufgabenwarteschlangen sind weltweit eindeutig.
Aufgaben sind beschreibende Objekte, die Sie erstellen und einer Aufgabenwarteschlange hinzufügen.
Der Executor ist der eigentliche Code, der beim Ausführen der Aufgabe aufgerufen wird und sich normalerweise in Ihrer Webanwendung befindet.
In diesem Tutorial verwenden wir die folgenden Werte:
- Projekt-ID: my-project-id
- Aufgabenwarteschlangen-ID: my-queue
- Cloud-Funktions-URL: https://us-central1-my-project - id.cloudfunctions.net/processTask
Jetzt richten wir schnell Cloud Tasks ein.
- Zuerst müssen wir die Aufgaben-API für Cloud Tasks aktivieren. Wählen Sie in der Cloud Console das Projekt aus, aus dem Sie Cloud Tasks konfigurieren möchten, und gehen Sie zu APIs & Services > Bibliotheken. Geben Sie „Cloud Tasks API“ in das Suchfeld ein und klicken Sie auf Cloud Tasks API, um es zu aktivieren.
- Als nächstes müssen wir die Aufgabenwarteschlange erstellen. Wir können den folgenden gcloud-Befehl verwenden:
gcloud tasks queues create my-queue
Dieser Befehl erstellt eine Aufgabenwarteschlange mit dem Namen my-queue. Wenn Sie andere Dienste wie App Engine oder Cloud Functions verwenden, können Sie diese an diese Warteschlange binden, um die Verarbeitung von Aufgaben zu erleichtern.
- Erstellen Sie einen Testamentsvollstrecker. In diesem Tutorial verwenden wir Cloud Functions als Executor. Daher müssen wir eine Cloud-Funktion erstellen.
Wählen Sie in der Cloud Console das Projekt aus, aus dem Sie Cloud Functions konfigurieren möchten, und gehen Sie zu Cloud Functions. Klicken Sie auf Funktion erstellen und geben Sie den Namen „processTask“ für die neue Funktion ein.
Wir werden den folgenden Cloud-Funktionscode verwenden:
<?php use GoogleCloudStorageStorageClient; use GoogleCloudLoggingLoggingClient; function processTask($data, $context) { $bucket = 'my-bucket'; $logging = new LoggingClient(['projectId' => 'my-project-id']); $logger = $logging->psrLogger('my-logger'); $logger->info('Starting task', ['data' => $data]); $storage = new StorageClient(['projectId' => 'my-project-id']); $bucket = $storage->bucket('my-bucket'); // TODO: Process the task $logger->info('Task completed successfully.'); }
Diese Funktion erfordert Zugriff auf Google Cloud Storage, daher müssen wir ihr auch Zugriff gewähren. Gehen Sie in der Cloud Console zu Speicher > Durchsuchen. Klicken Sie anschließend auf „Bucket erstellen“, wählen Sie den Standardspeicher für den neuen Bucket aus und geben Sie den Namen „my-bucket“ ein.
Klicken Sie im Bucket-Tab auf „Berechtigungen“. Wählen Sie „Entität hinzufügen“, um dem Dienst die Programmberechtigung „cloud-tasks@cloudtasks.googleapis.com“ hinzuzufügen. Wählen Sie unter „Rolle auswählen“ in der Dropdown-Liste „Rolle“ die Option „Cloud Tasks Task Performer“ aus.
Jetzt ist die Cloud-Funktion bereit, den Aufgabenteilungscode zu verwenden.
- Aufgaben erstellen. Wir können jetzt Aufgaben für die Aufgabenwarteschlange erstellen. Wir verwenden den folgenden gcloud-Befehl:
gcloud tasks create-http-task --queue=my-queue --url=https://us-central1-my-project-id.cloudfunctions.net/processTask --http-method=POST --body='{"message":"hello world"}'
Mit dem obigen gcloud-Befehl erstellen wir eine POST-Anfrage im JSON-Format, wobei das Attribut „message“ auf „hello world“ gesetzt ist. Diese Aufgabe wird zur My-Queue-Warteschlange hinzugefügt.
Das ist alles für die vollständige Einrichtung von Cloud Tasks.
Cloud Tasks mit PHP laden
Da wir nun die Einstellungen für Cloud Tasks haben, laden wir Cloud Tasks mit PHP. Google stellt ein offizielles PHP-Paket namens google/cloud-tasks zur Verfügung. Sie können es mit Composer installieren:
composer require google/cloud-tasks
Jetzt können wir den PHP-Code schreiben, um die Aufgabe zu erstellen und sie zur Aufgabenwarteschlange hinzuzufügen. Schauen wir uns das folgende Beispiel an:
<?php require_once __DIR__ . '/vendor/autoload.php'; use GoogleCloudTasksV2CloudTasksClient; use GoogleCloudTasksV2HttpMethod; use GoogleCloudTasksV2Queue; use GoogleCloudTasksV2Task; use GoogleProtobufDuration; $projectId = 'my-project-id'; $location = 'us-central1'; $queueId = 'my-queue'; $cloudTasksClient = new CloudTasksClient(); $queueName = $cloudTasksClient->queueName($projectId, $location, $queueId); $queue = new Queue(); $queue->setName($queueName); $taskName = $cloudTasksClient->taskName($projectId, $location, $queueId, uniqid()); $task = new Task(); $task->setName($taskName); $taskHttpReq = new GoogleCloudTasksV2HttpRequest(); $taskHttpReq->setUrl('https://us-central1-my-project-id.cloudfunctions.net/processTask'); $taskHttpReq->setHttpMethod(HttpMethod::POST); $taskHttpReq->setBody(json_encode(['message' => 'hello world'])); $task->setHttpRequest($taskHttpReq); $delay = new Duration(); $delay->setSeconds(10); $task->setScheduleTime($delay); $cloudTasksClient->createTask($queue, $task); $cloudTasksClient->close();
Dieser Code erstellt eine Aufgabenwarteschlange namens „my-queue“. Als nächstes erstellt es eine Aufgabe und fügt sie der Warteschlange hinzu. Die Aufgabe enthält die URL, die HTTP-Methode und den Datenkörper der POST-Anfrage.
Die Aufgabe enthält auch eine geplante Zeit, sodass die Aufgabe nach 10 Sekunden ausgeführt wird.
Abschließend verwenden wir die Methode „createTask“, um die Aufgabe zur Warteschlange hinzuzufügen.
Zusammenfassung
Dieser Artikel zeigt Ihnen, wie Sie die Aufgabenplanung und die asynchrone Aufgabenverarbeitung mit PHP und Google Cloud Tasks implementieren. Cloud Tasks ist ein vollständig verwalteter Dienst, der den einfachen Aufruf von APIs ermöglicht, die periodische und asynchrone Aufgaben ausführen. Wir haben eine Cloud-Funktion eingerichtet, eine Aufgabenwarteschlange erstellt und mithilfe von PHP Aufgaben zur Warteschlange hinzugefügt.
In einer realen Anwendung können komplexere Funktionen und Dienste hinzugefügt werden, und bei Bedarf können weitere Warteschlangen und Aufgaben hinzugefügt werden. Dies sollte Ihnen jedoch einen guten Ausgangspunkt für die Integration von Google Cloud Tasks in Ihre Webanwendung bieten.
Das obige ist der detaillierte Inhalt vonAsynchrone Aufgaben und Planung mit PHP und Google Cloud Tasks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In diesem Artikel wird ausführlich erläutert, wie PHP Zeilen in CSV formatiert und Dateizeiger schreibt. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas daraus lernen können. Zeilen in CSV formatieren und in den Dateizeiger schreiben Schritt 1: Dateizeiger öffnen $file=fopen("path/to/file.csv","w"); in CSV-Strings umwandeln. Die Funktion akzeptiert die folgenden Parameter: $file: Dateizeiger $fields: CSV-Felder als Array $delimiter: Feldtrennzeichen (optional) $enclosure: Feldanführungszeichen (

In diesem Artikel wird das Ändern der aktuellen umask in PHP ausführlich erläutert. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. Überblick über die Änderung der aktuellen umask durch PHP umask ist eine PHP-Funktion, mit der die Standarddateiberechtigungen für neu erstellte Dateien und Verzeichnisse festgelegt werden. Es akzeptiert ein Argument, eine Oktalzahl, die die Blockierungsberechtigung darstellt. Um beispielsweise die Schreibberechtigung für neu erstellte Dateien zu verhindern, würden Sie 002 verwenden. Methoden zum Ändern von umask Es gibt zwei Möglichkeiten, die aktuelle umask in PHP zu ändern: Verwendung der Funktion umask(): Die Funktion umask() ändert direkt die aktuelle umask. Seine Syntax ist: intumas

In diesem Artikel wird ausführlich erklärt, wie man in PHP eine Datei mit einem eindeutigen Dateinamen erstellt. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit und hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. Erstellen von Dateien mit eindeutigen Dateinamen in PHP Einführung Das Erstellen von Dateien mit eindeutigen Dateinamen in PHP ist für die Organisation und Verwaltung Ihres Dateisystems unerlässlich. Eindeutige Dateinamen stellen sicher, dass vorhandene Dateien nicht überschrieben werden und erleichtern das Auffinden und Abrufen bestimmter Dateien. In diesem Handbuch werden verschiedene Möglichkeiten zum Generieren eindeutiger Dateinamen in PHP behandelt. Methode 1: Verwenden Sie die Funktion uniqid(). Die Funktion uniqid() generiert eine eindeutige Zeichenfolge basierend auf der aktuellen Zeit und den Mikrosekunden. Diese Zeichenfolge kann als Grundlage für den Dateinamen verwendet werden.

In diesem Artikel wird ausführlich erläutert, wie PHP den MD5-Hash von Dateien berechnet. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. PHP berechnet den MD5-Hash einer Datei. MD5 (MessageDigest5) ist ein Einweg-Verschlüsselungsalgorithmus, der Nachrichten beliebiger Länge in einen 128-Bit-Hashwert fester Länge umwandelt. Es wird häufig verwendet, um die Dateiintegrität sicherzustellen, die Datenauthentizität zu überprüfen und digitale Signaturen zu erstellen. Berechnen des MD5-Hash einer Datei in PHP PHP bietet mehrere Methoden zum Berechnen des MD5-Hash einer Datei: Verwenden Sie die Funktion md5_file(). Die Funktion md5_file() berechnet direkt den MD5-Hash-Wert der Datei und gibt einen 32-stelligen Wert zurück

In diesem Artikel wird ausführlich erläutert, wie PHP nach dem Umdrehen eines Schlüsselwerts ein Array zurückgibt. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. PHP-Schlüsselwert-Flip Der Array-Schlüsselwert-Flip ist eine Operation für ein Array, bei der die Schlüssel und Werte im Array ausgetauscht werden, um ein neues Array mit dem ursprünglichen Schlüssel als Wert und dem ursprünglichen Wert als Schlüssel zu generieren. Implementierungsmethode In PHP können Sie das Schlüsselwert-Umdrehen eines Arrays mit den folgenden Methoden durchführen: array_flip()-Funktion: Die array_flip()-Funktion wird speziell für Schlüsselwert-Umdrehungsvorgänge verwendet. Es erhält ein Array als Argument und gibt ein neues Array mit vertauschten Schlüsseln und Werten zurück. $original_array=[

In diesem Artikel wird ausführlich erläutert, wie PHP Dateien auf eine bestimmte Länge kürzt. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. Einführung in die PHP-Dateikürzung Die Funktion file_put_contents() in PHP kann verwendet werden, um Dateien auf eine bestimmte Länge zu kürzen. Unter Abschneiden versteht man das Entfernen eines Teils des Endes einer Datei, wodurch die Dateilänge verkürzt wird. Syntax file_put_contents($filename,$data,SEEK_SET,$offset);$filename: der Dateipfad, der gekürzt werden soll. $data: Leerer String, der in die Datei geschrieben werden soll. SEEK_SET: Wird als Anfang der Datei bezeichnet

In diesem Artikel wird ausführlich erläutert, wie PHP ermittelt, ob ein bestimmter Schlüssel in einem Array vorhanden ist. Der Herausgeber hält dies für sehr praktisch, daher teile ich es Ihnen als Referenz mit und hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. PHP ermittelt, ob ein angegebener Schlüssel in einem Array vorhanden ist: In PHP gibt es viele Möglichkeiten, festzustellen, ob ein angegebener Schlüssel in einem Array vorhanden ist: 1. Verwenden Sie die Funktion isset(): isset($array["key"]) Diese Funktion gibt einen booleschen Wert zurück, true, wenn der angegebene Schlüssel vorhanden ist, andernfalls false. 2. Verwenden Sie die Funktion array_key_exists(): array_key_exists("key",$arr

In diesem Artikel wird die digitale Kodierung der von PHP im vorherigen MySQL-Vorgang zurückgegebenen Fehlermeldung ausführlich erläutert. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können . . Verwenden von PHP zum Zurückgeben von MySQL-Fehlerinformationen Einführung in die numerische Kodierung Bei der Verarbeitung von MySQL-Abfragen können Fehler auftreten. Um diese Fehler effektiv behandeln zu können, ist es wichtig, die numerische Kodierung von Fehlermeldungen zu verstehen. Dieser Artikel führt Sie durch die Verwendung von PHP, um die numerische Kodierung von MySQL-Fehlermeldungen zu erhalten. Methode zum Erhalten der numerischen Kodierung von Fehlerinformationen 1. mysqli_errno() Die Funktion mysqli_errno() gibt die aktuellste Fehlernummer der aktuellen MySQL-Verbindung zurück. Die Syntax lautet wie folgt: $erro
