この章では、有効化または設定が可能なオプションの機能を載せています。
MySQLへの切り替え
HQueueは、そのデータベースバックエンドのSQLiteの代わりに、MySQLを使用するように設定することが可能です。
Warning
MySQLデータベースへ切り替えてしまうと、デフォルトのデータベースの内容は 移行されません 。古いデータベースに登録されたクライアントマシンは再度、データベースに追加する必要があります。
導入手順(Linuxのみ)
-
事前に必要なパッケージをインストールします:
-
mysql-client
-
mysql-server
-
python-mysqldb
aptitudeを使用するオペレーティングシステム(Ubuntu, Debian)では、以下のコマンドを実行します:
aptitude install mysql-client mysql-server python-mysqldb
yumを使用するオペレーティングシステム(Red Hat, Fedora Core, Yellow Dog)では、以下のコマンドを実行します:
yum install mysql mysql-server MySQL-python
パッケージ名は、オペレーティングシステムによって異なる場合があることに注意してください。
-
-
hqserver
データベースを作成します。mysqlセッションを起動して実行します:
CREATE DATABASE `hqserver`;
データベースへのアクセス権があるhquserユーザアカウントも作成することができます。mysqlセッションで、以下のコマンドを入力します:
CREATE USER `hquser`@`localhost` IDENTIFIED BY "hqpass"; GRANT ALL ON `hqserver`.* TO `hquser`@`localhost`;
-
HQueue設定ファイルを編集します。
/opt/hqueue/hqserver.ini
を開いて、sqlalchemy.default.url
の設定値がある行を探します。その行を以下のように書き換えます:sqlalchemy.default.url = mysql://<mysql_user>:<mysql_user_password>@localhost/hqserver
hquser アカウントを作成していれば、以下のようになります:
sqlalchemy.default.url = mysql://hquser:hqpass@localhost/hqserver
さらに、
sqlalchemy.default.pool_size
とsqlalchemy.default.max_overflow
の設定値のある行のコメントを外します。 -
HQueueサーバーをシャットダウンします。
ターミナルで以下のコマンドを実行します:
cd /opt/hqueue ./scripts/hqserverd stop
-
Python MySQLdbがインストールされている場所を調べる。
ターミナルで
python
を実行して、Pythonで以下のコードをタイプします:>>> import MySQLdb >>> MySQLdb <module 'MySQLdb' from '/usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg/MySQLdb/__init__.pyc'> >>>
後で使用するためにMySQLdbモジュールがインストールされている場所を覚えておく必要があります。上記の例では、インストール場所は
/usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg
です。 -
HQueue pasterスクリプトがPython MySQLdbを見つけられるように、そのスクリプトを修正します。
テキストエディタで
/opt/hqueue/bin/paster
を開きます。 そして、import sys
の行の後に、この行を挿入します:sys.path.append("/usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg")
ファイルを保存して閉じます。
-
hqserver
データベースをセットアップします。ターミナルで、以下のコマンドを実行します:
# pasterがMySQLを見つけられるように、そのMySQLインストールパスをPYTHONPATHに追加します。 export PYTHONPATH=/usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg # hqserverデータベースをセットアップします。 ./bin/paster setup-app hqserver.ini
-
HQueueサーバーを再起動します。
ターミナルで、以下のコマンドを実行します:
./scripts/hqserverd restart
これでHQueueサーバーがMySQLデータベースを使用するように設定されました。