この記事では、gearman+mysql メソッドを使用して永続化操作を実装します。ご参考までに、詳細は以下の通りです。 1. なぜ粘り強さが必要なのか? gearman のジョブ サーバーの作業キューはメモリに保存されます。未処理のタスクがある状態でサーバーが再起動またはクラッシュすると、これらのタスクは失われます。 2. ギアマンの永続性に関する記事については、公式ドキュメントを読むことをお勧めします。 http://gearman.org/manual/job_server/#persistent_queues 3. 永続化のためのデータベースとテーブルを作成する データベース gearman を作成します。 テーブル `gearman_queue` を作成します ( `unique_key` varchar(64) NOT NULL, `function_name` varchar(255) NOT NULL, `priority` int(11) NOT NULL, `data` longblob NULLではありません。 `when_to_run` int(11)、 主キー (`unique_key`) )ENGINE=InnoDB デフォルト文字セット=utf8; 4. gearmanユーザーを作成する > ユーザー 'gearman'@'%' を作成します (ID: '123456')。 > gearman.* のすべての権限を 'gearman'@'%' に付与します。 > 権限をフラッシュします。 5. gearmandを起動するときに永続パラメータを指定する > gearmand -q libdrizzle \ --libdrizzle-ホスト=192.168.1.100 \ --libdrizzle-port=3306 \ --libdrizzle-user=gearman \ --libdrizzle-パスワード=123456 \ --libdrizzle-db=ギアマン\ --libdrizzle-table=gearman_queue \ --libdrizzle-mysql または以下のように使用する > ギアマンド -q mysql \ --mysql-ホスト=192.168.1.100 \ --mysql-ポート=3306 \ --mysql-user=gearman \ --mysqlパスワード=123456 \ --mysql-db=ギアマン\ --mysql-テーブル=gearman_queue 以下の問題が発生した場合、gearman をコンパイルおよびインストールするときに libdrizzle をインストールしなかったことを意味します。 gearmand: 認識されないオプション '--libdrizzle-host=192.168.1.100' 次のURLからlibdrizzleをダウンロードしてください https://launchpad.net/libdrizzle/+ダウンロード 例: libdrizzle-5.1.4.tar.gz libdrizzleをインストールする > tar xf libdrizzle-5.1.4.tar.gz > libdrizzle-5.1.4 をインストールします ここで --prefix を指定しないことをお勧めします。他のディレクトリを指定すると、gearman は下記のコンパイル時に関連ヘッダーファイルやリンクライブラリを見つけられず、手動でソフトリンクを追加する必要があるためです。 > ./configure > 作成 && インストール 次に、gearmanを再コンパイルしてインストールします > tar xf gearmand-1.1.12.tar.gz >cd ギアマンド-1.1.12 configureのパラメータがわからない場合は、次のコマンドを使用して確認できます。 > ./configure --help gearmanがmysqlの永続性をサポートするには、ここでmysql-develをインストールする必要があります。 > yum インストール mysql-server mysql-devel 先ほど gearman をインストールしたので --prefix を指定していなかったので、ここでは指定しませんでした。必要な場合は自分で指定してください。 > ./configure > 作成 && インストール 設定が完了した後に表示される最後のメッセージ * LIBS: * LDFLAGS フラグ: * アサーションが有効: いいえ * デバッグ有効: いいえ * 失敗時の警告: なし * libsqlite3でビルドする * libdrizzleでビルドする * libmemcached を使用したビルドが見つかりません * libpqでビルドする ※東京オフィスビル1号館が入るビルです。 * libmysql でビルドする * SSL 有効: いいえ * cyassl が見つかりません: いいえ * openssl が見つかりました: はい * -j: 2 を実行します * VCSチェックアウト: いいえ * スフィンクスビルド: : 最後に、libdrizzleとlibmysqlがyesと表示されているのがわかります。 インストールされているか確認する > ギアマンド --help 次のエラーが発生した場合
/etc/ld.so.confを開いて変更してください > vi /etc/ld.so.conf 次の文を追加してください ローカル ldconfigを実行する >ldconfig 上記の gearmand --help を再度実行します。次のメッセージが表示されれば、インストールは成功です。 組み込み: libdrizzle: --libdrizzle-host arg (=localhost) サーバーのホスト。 --libdrizzle-port arg (=3306) サーバーのポート。(デフォルトでは Drizzle) --libdrizzle-uds arg サーバーの Unix ドメイン ソケット。 --libdrizzle-user arg (=root) 認証用のユーザー名。 --libdrizzle-password arg 認証用のパスワード。 --libdrizzle-db arg (=gearman) 使用するデータベース。 --libdrizzle-table arg (=queue) 使用するテーブル。 --libdrizzle-mysql MySQL プロトコルを使用します。 マイグレーション: --mysql-host arg (=localhost) MySQL ホスト。 --mysql-port arg (=3306) サーバーのポート。(デフォルトでは 3306) --mysql-user arg MySQL ユーザー。 --mysql-password arg MySQL ユーザーのパスワード。 --mysql-db arg MySQL データベース。 --mysql-table arg (=gearman_queue) MySQL テーブル名。 libdrizzle経由でgearmandを起動する際に以下の問題が発生する場合 gearmand: キューの初期化中にエラーが発生しました: libdrizzle そしてログの記録は次のようになります エラー 2017-02-22 07:51:02.536574 [ main ] libdrizzle の初期化に失敗しました: 初期化(QUEUE_ERROR) -> libgearman-server/queue.cc:246 MySQL のバージョンが高すぎるためか、他の理由かはわかりません。試してみてうまくいかない場合は、別の方法を試してください。私は他の方法をテストして成功しました。 バックグラウンドジョブを作成する > ギアマン -f テスト -b 123456 次のようにデータベースを表示します。 MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL インデックス操作スキルの概要」、「MySQL 共通関数の概要」、「MySQL ログ操作スキルの概要」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキルの概要」、および「MySQL データベース ロック関連スキルの概要」。 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
<<: Windows 10 で Ubuntu 20.04 LTS をアップデートする方法
>>: 相同性とクロスドメイン、jsonp(関数カプセル化)、CORS原則の詳細な分析
序文コストを考慮して、ほとんどのウェブマスターは、多数の小規模なウェブサイト用にサーバーを個別に購入...
1. MySQLデータベースをダウンロードするには、公式Webサイトにアクセスしてください:http...
1. MMMの紹介: MMM は、Multi-Master Replication Manager...
まずは効果の写真をお見せしましょう。 個人的には効果は問題ないと思います。アプリが写真を学習する時間...
コードは次のようになります。 。プロセス{ 境界線:1px 実線 #B7B7B8; 背景:#F8F8...
Docker の使用に関するヒント1. 停止したDockerコンテナをすべてクリーンアップする停止し...
バージョン間でのコマンドの違い: innodb ステータスを表示\G mysql-5.1 エンジン ...
目次ミックスインの実装フック関数のマージプロジェクト実践伸ばす要約するVue は mixins AP...
1. flex-grow、flex-shrink、flex-basis プロパティflex-grow...
1) プロセス 2) FSImageと編集NodeNode は HDFS の頭脳です。ファイルシステ...
1. リバースプロキシの例1 1. 効果を達成する(1)ブラウザを開き、www.123.comと入力...
多くの場合、透明度の設定やぼかしなど、写真の背景を加工する必要があります。 ただし、背景画像が配置さ...
現在、フロントエンドのパフォーマンス最適化について学んでいます。適切な解決策を見つけ、パフォーマンス...
目次プロトタイプチェーン図プロトタイピングに必須の知識プロトタイププロパティ(プロトタイプを表示) ...
この記事では、淘宝虫眼鏡効果を実現するためのJavaScriptの具体的なコードを参考までに紹介しま...