HOWTO: Run Work Queue Workers on Azure
Work Queue Workers can be deployed and run on Microsoft Azure instances using
the Azure Cloud Service. Here is a overview of the steps required to setup and
run Work Queue Workers on Azure using its Cloud Service platform.
- We assume that you have already created a new Windows Azure Project using the
latest Azure Development environment and are familiar with its working and interfaces.
- A Windows Azure Project typically consists of at least one WebRole and one
WorkerRole. Build and configure the WebRoles and WorkerRoles to run using the
API offered in the development environment. A simple configuration will be to
run Work Queue Workers on the WorkerRoles and use the WebRole to start and
manage the Work Queue Workers. We will assume this setup for the rest of the
steps.
- Create a directory named "cygwin-install" in the project directory. Copy the Work
Queue Worker executable (work_queue_worker.exe), sh.exe, and the dlls (cygwin1,
cyggcc_s-1, cygiconv-2, cygintl-8, cygncursesw-10, cygreadline7, cygattr-1) that
are available in the cctools installation (bin/) for Windows environments into
this directory. This directory now contains the libraries needed to setup a
basic Cygwin environment for running Work Queue Worker in the Azure
platform.
- Configure the WorkerRole or create a bootstrap script to add the location
of the cygwin-install directory to the PATH environment variable before
a Work Queue Worker is started on a WorkerRole instance in the Azure platform.
- Add the cygwin directory to the list of directories and files that are built and
packed into the Azure Service Package that is required to deploy a cloud
service on the Azure platform.
- Upload the built Service Package file along with the Service Configuration
in to the Azure platform to start and run Azure instances with the deployed
cloud service.
- Start Work Queue Workers through the WebRole as defined by your
configuration of the cloud service.
- If the tasks executed by the Work Queue Worker have dependencies on Cygwin
libraries or other files, they can be specified as input files for the Work
Queue Worker to transfer to its working environment.
[an error occurred while processing this directive]