Houdini 17.5 HQueue

Switching to MySQL (Linux only)

You can optionally configure HQueue to use MySQL instead of SQLite on Linux.

On this page

Overview

By default, HQueue uses SQLite as a backend database. If the HQueue server is on Linux, you can configure it to use MySQL instead.

You may want to do this if you already have a MySQL server infrastructure that’s centrally managed, backed-up, and so on.

The following procedure does not migrate the contents of the default database over to MySQL. You will need to re-add clients, groups, and jobs after switching to MySQL.

Required packages

You must install the following Linux packages on the server machine, for example using aptitude or yum (depending on the Linux distribution):

  • mysql-client

  • mysql-server

  • python-mysqldb

The packages may be named differently depending on your Linux distribution.

Setting up MySQL

  1. Create the hqserver database.

    Start a mysql session and run:

    CREATE DATABASE `hqserver`;
    

    You can also create an hquser user account which has access to the database. In your mysql session, enter the following commands:

    CREATE USER `hquser`@`localhost` IDENTIFIED BY "hqpass";
    GRANT ALL ON `hqserver`.* TO `hquser`@`localhost`;
    
  2. Edit the HQueue configuration file.

    Open /opt/hqueue/hqserver.ini and look for the line with the sqlalchemy.default.url configuration value. Replace it with:

    sqlalchemy.default.url = mysql://<mysql_user>:<mysql_user_password>@localhost/hqserver
    

    If you created the hquser account, then this would be:

    sqlalchemy.default.url = mysql://hquser:hqpass@localhost/hqserver
    

    Additionaly, uncomment the lines with the sqlalchemy.default.pool_size and sqlalchemy.default.max_overflow configuration values.

  3. Shutdown the HQueue server.

    In a terminal run:

    cd /opt/hqueue
    ./scripts/hqserverd stop
    
  4. Find out where Python MySQLdb is installed.

    In a terminal run python and then in Python type:

    >>> 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'>
    >>> 
    

    You will need to remember where the MySQLdb module is installed for later use. With the example above, the install location would be /usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg.

  5. Modify the HQueue paster script so it can find Python MySQLdb.

    Open /opt/hqueue/bin/paster in a text editor. Then insert this line after the line that reads import sys:

    sys.path.append("/usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg")
    

    Save and close the file.

  6. Setup the hqserver database.

    In a terminal, run:

    # Add the MySQL install path to PYTHONPATH so that paster can find it.
    export PYTHONPATH=/usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg
    
    # Setup the hqserver database.
    ./bin/paster setup-app hqserver.ini
    
  7. Restart the HQueue server.

    In a terminal, run:

    ./scripts/hqserverd restart
    

Now your HQueue server is configured to use a MySQL database.

HQueue

Getting started

  • About HQueue

    HQueue is a general-purpose job management system. You can use it to distribute renders, simulations, and other work to remote clients.

  • Installation

    How to set up a basic HQueue farm.

  • Configuration

    How to set configuration options for the HQueue server and clients.

  • How to submit jobs

    How to put work on the farm.

Managing the farm

  • Managing clients

    How to use the web interface or local logins to add, remove, restart, and manage client machines.

  • Managing jobs

    How to view and manage jobs on the farm.

  • Managing client groups

    How to use the web interface or local logins to create and manage groups of client machines.

  • Notes

    Each client and job can have informational notes attached.

  • Resources

    You can specify what resources (such as licenses) are available on each client, so jobs can be scheduled on clients where they can run.

Next steps

  • Logging

    Hqueue stores separate logs for errors and scheduling events, and each client also generates a log.

  • Uninstalling

    How to uninstall the HQueue server or client software.

  • FAQs

    Answers to frequently asked questions.

Guru level

  • Remote API

    You can connect to the HQueue server over the network and call functions to manipulate and query jobs and other information.

  • Jobs specification details

    More detail on the internals of a job specification for users who want to submit custom jobs.

  • Switching to MySQL (Linux only)

    You can optionally configure HQueue to use MySQL instead of SQLite on Linux.