Dieser Artikel verwendet die Gearman+MySQL-Methode, um Persistenzoperationen zu implementieren. Teilen Sie uns die Einzelheiten zu Ihrer Information mit: 1. Warum Persistenz? Die Arbeitswarteschlange im Jobserver von Gearman wird im Speicher gespeichert. Sobald der Server neu gestartet wird oder abstürzt, während noch unverarbeitete Aufgaben vorhanden sind, gehen diese Aufgaben verloren. 2. Für Artikel über Gearman Persistenz wird empfohlen, die offizielle Dokumentation zu lesen http://gearman.org/manual/job_server/#persistent_queues 3. Erstellen Sie eine Datenbank und eine Tabelle für die Persistenz DATENBANK ERSTELLEN gearman; Tabelle „gearman_queue“ erstellen ( `unique_key` varchar(64) NICHT NULL, `function_name` varchar(255) NICHT NULL, `Priorität` int(11) NICHT NULL, `data` longblob NICHT NULL, `wann_ausgeführt_werden` int(11), PRIMÄRSCHLÜSSEL (`unique_key`) )ENGINE=InnoDB STANDARD-CHARSET=utf8; 4. Gearman-Benutzer erstellen > Benutzer „Gearman“@„%“ erstellen, IDENTIFIZIERT DURCH „123456“; > gewähre alles für Gearman.* AN 'Gearman'@'%'; > Berechtigungen leeren; 5. Geben Sie beim Starten von gearmand Persistenzparameter an > gearmand -q libdrizzle \ --libdrizzle-host=192.168.1.100 \ --libdrizzle-port=3306 \ --libdrizzle-user=Gearman \ --libdrizzle-password=123456 \ --libdrizzle-db=Getriebe \ --libdrizzle-table=Gearman_Warteschlange \ --libdrizzle-mysql Oder verwenden Sie wie folgt > gearmand -q mysql \ --mysql-host=192.168.1.100 \ --mysql-port=3306 \ --mysql-user=Gearman \ --mysql-password=123456 \ --mysql-db=Getriebe \ --mysql-table=gearman_queue Wenn das folgende Problem auftritt, bedeutet dies, dass Sie beim Kompilieren und Installieren von Gearman libdrizzle nicht installiert haben. gearmand: nicht erkannte Option „--libdrizzle-host=192.168.1.100“ Laden Sie libdrizzle von der folgenden URL herunter https://launchpad.net/libdrizzle/+download Beispiel: libdrizzle-5.1.4.tar.gz Installieren Sie libdrizzle > tar xf libdrizzle-5.1.4.tar.gz >cd libdrizzle-5.1.4 Es ist am besten, hier kein --prefix anzugeben, da Gearman bei der Angabe anderer Verzeichnisse beim Kompilieren unten möglicherweise die relevanten Header-Dateien und Linkbibliotheken nicht finden kann und Sie Softlinks manuell hinzufügen müssen > ./konfigurieren > machen && machen installieren Dann kompilieren und installieren wir gearman > tar xf gearmand-1.1.12.tar.gz >cd gearmand-1.1.12 Wenn Sie sich über die Parameter von configure nicht sicher sind, können Sie den folgenden Befehl verwenden, um zu überprüfen > ./configure --help Sie müssen mysql-devel hier installieren, damit Gearman die MySQL-Persistenz unterstützt > yum installiere MySQL-Server MySQL-Entwicklung Da ich Gearman früher installiert habe, habe ich --prefix nicht angegeben. Deshalb habe ich es hier nicht angegeben. Sie können es bei Bedarf selbst angeben. > ./konfigurieren > machen && machen installieren Die letzte Meldung, die nach Abschluss der Konfiguration angezeigt wird * Bibliotheken: * LDFLAGS-Flags: * Assertionen aktiviert: nein * Debug aktiviert: nein * Warnungen als Fehler: nein * Erstellen mit libsqlite3 nein * Erstellen mit libdrizzle ja * Erstellen mit libmemcached nicht gefunden * Erstellen mit libpq nein * Gebäude mit Tokyo Office Building Nr. * Erstellen mit libmysql ja * SSL aktiviert: nein * cyassl gefunden: nein * openssl gefunden: ja * make -j: 2 * VCS-Checkout: nein * Sphinx-Build: : Schließlich können Sie sehen, dass libdrizzle und libmysql ja anzeigen Überprüfen Sie, ob es installiert ist > gearmand --Hilfe Wenn der folgende Fehler auftritt
Bitte öffnen und ändern Sie /etc/ld.so.conf > vi /etc/ld.so.conf Fügen Sie den folgenden Satz hinzu /usr/local/lib Führen Sie ldconfig aus. >ldconfig Führen Sie den obigen Befehl gearmand --help erneut aus. Wenn die folgende Meldung erscheint, war die Installation erfolgreich. eingebaut: libdrizzle: --libdrizzle-host arg (=localhost) Host des Servers. --libdrizzle-port arg (=3306) Port des Servers. (standardmäßig Drizzle) --libdrizzle-uds arg Unix-Domänen-Socket für Server. --libdrizzle-user arg (=root) Benutzername für die Authentifizierung. --libdrizzle-password arg Passwort zur Authentifizierung. --libdrizzle-db arg (=gearman) Zu verwendende Datenbank. --libdrizzle-table arg (=Warteschlange) Zu verwendende Tabelle. --libdrizzle-mysql MySQL-Protokoll verwenden. MySQL: --mysql-host arg (=localhost) MySQL-Host. --mysql-port arg (=3306) Port des Servers. (standardmäßig 3306) --mysql-user arg MySQL-Benutzer. --mysql-password arg MySQL-Benutzerpasswort. --mysql-db arg MySQL-Datenbank. --mysql-table arg (=gearman_queue) MySQL-Tabellenname. Wenn beim Starten von Gearmand über Libdrizzle die folgenden Probleme auftreten gearmand: Fehler beim Initialisieren der Warteschlange: libdrizzle Und der Eintrag im Log sieht so aus FEHLER 22.02.2017 07:51:02.536574 [main] Initialisierung von libdrizzle fehlgeschlagen: initialisieren(QUEUE_ERROR) -> libgearman-server/queue.cc:246 Ich weiß nicht, ob es daran liegt, dass die MySQL-Version zu hoch ist oder ob es andere Gründe gibt. Wenn Sie es versuchen und es nicht funktioniert, versuchen Sie es mit einer anderen Methode. Ich habe die andere Methode erfolgreich getestet. Erstellen eines Hintergrundjobs > gearman -f test -b 123456 Zeigen Sie die Datenbank wie folgt an: Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „Zusammenfassung der Kenntnisse im Bereich MySQL-Indexoperationen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-Allgemeinfunktionen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-Protokolloperationen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-Transaktionsoperationen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-gespeicherte Prozeduren“ und „Zusammenfassung der Kenntnisse im Zusammenhang mit MySQL-Datenbanksperren“. Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist. Das könnte Sie auch interessieren:
|
<<: So aktualisieren Sie Ubuntu 20.04 LTS unter Windows 10
Inhaltsverzeichnis 1. Konfigurieren Sie Bridging ...
1. Navigation: Ungeordnete Liste vs. andere Besch...
1. Installieren Sie mysql5.6 Docker führt MySQL a...
Inhaltsverzeichnis Grundlegende HTML-Struktur Gen...
Inhaltsverzeichnis Überblick Die Rolle des Revers...
Inhaltsverzeichnis 1. Knoten, Bäume und virtuelle...
In diesem Artikel erfahren Sie zu Ihrer Informati...
In diesem Artikel wird die Installations- und Kon...
Ich werde meinen ersten Versuch mit vue3.0 aufzei...
Inhaltsverzeichnis 1. Der Unterschied zwischen Fu...
Was ist hohe Parallelität? Die standardmäßigen Li...
Inhaltsverzeichnis Laden Sie die komprimierte Dat...
Als ich kürzlich an meiner Website „Fußball-Navig...
Es gibt vier Arten der Positionierung in CSS, die...
Fehler: Connection to blog0@localhost failed. [08...