Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Worker for

This project contains the make files for building workers used by The project is intended to be used with Drush make.

In order to build out to codebase for a worker perform the following.

$ drush make --yes[WORKER_TYPE].make

All the available worker types are listed below.

$ drush make --yes
$ drush make --yes

Otherwise, you can obtain the drupal.make file via another method. If you want a working-copy (aka one that has git checkouts of the applicable projects) you can add --working-copy as shown below. In addition, --no-gitinfofile is handy since it does not alter the .info files which will make it more difficult to commit changes.

$ drush make --working-copy --no-gitinfofile --yes

Next the worker can be installed by executing the following (assuming access to SQLite) or setting up a database and changing the command. Please note that the Drupal installation for the worker does not need to be accessible from the web.

$ drush si minimal --yes --site-name='Worker' --account-name=worker --account-pass=worker --db-url=sqlite:sites/default/files/.ht.sqlite
$ drush en --yes worker [WORKER_TYPE] # enable WORKER_TYPE if applicable

If the worker type requires a separate database to be configured add something like the following to settings.php.

// Database that Drupal will be installed in. This database is dropped and
// created every job run using the stub database as a connection.
$databases['drupal_mysql'] = array(
  'default' => array(
    'database' => '',
    'username' => '',
    'password' => '',
    'host' => 'localhost',
    'port' => '',
    'driver' => 'mysql',
    'prefix' => '',
// Stub database used to make a connection using the appropriate driver. This
// database must be created manually and will not be created or destroyed.
$databases['drupal_mysql_stub'] = $databases['drupal_mysql'];
$databases['drupal_mysql_stub']['default']['database'] .= '_stub';

All workers will need the following settings added to settings.php. The category is conduit for worker.make and worker_[CATEGORY].make for any other. The concurrency is the maximum number of process to create at any given time, which should be based off the hardware being used by the worker.

$conf['worker_url'] = '';
$conf['worker_login'] = array(
  'username' => 'worker',
  'password' => 'worker',
$conf['worker_category'] = 'conduit';
$conf['worker_concurrency'] = 4;

The worker needs a consistent way to refer to the "embedded" Drupal installation that runs SimpleTest. To accomplish this, we decided to:

  • set the JOB_URL constant to "worker.loc" in
  • add an entry for "worker.loc" in /etc/hosts
  • create a virtual host entry for "worker.loc" as follows

In this case /srv/www/htdocs/ points to the Drupal root of the worker so /srv/www/htdocs/sites/default/files/job points to the directory in which the embedded Drupal will be located.

<VirtualHost *>
  ServerName worker.loc
  ServerAlias *.worker.loc
  ServerAdmin root@site.loc

  ErrorLog /dev/null
  CustomLog /dev/null combined

  DocumentRoot /srv/www/htdocs/sites/default/files/job
  <Directory /srv/www/htdocs/sites/default/files/job>
    AllowOverride FileInfo AuthConfig Limit Indexes Options=All,MultiViews
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Order allow,deny
    Allow from all


No description, website, or topics provided.






No releases published


No packages published