Using a shared TaskDB with Mascot Daemon
Mascot Daemon is the automation client for Mascot Server. The licensing for Mascot Daemon allows as many copies of Daemon to be installed in your lab as you like. By default, each copy of Daemon uses its own task database, TaskDB, to store information about the tasks it is running and links to the results.
Shared Mascot Daemon task databases are easy to set up and can be useful to commercial, service or shared facility labs. When using a shared database, all Daemon clients can see all the tasks and add new tasks to the queue. You can choose to import one of your old Mascot Daemon databases into the new shared database or start with a fresh empty database.
Configuring the database engine
The default database engine uses the VistaDB format which is not amenable to sharing. We recommend switching to one of the other five supported database engines. We have found that PostgreSQL works particularly well.
If you wish to migrate one of your existing TaskDB databases to the new shared system, this can easily be done in Daemon: go to the Edit → Preferences → ODBC connection tab and backup the database before doing anything else.
The database engine for the shared task database needs to be installed on a central computer. There are instructions on how to do this in the Daemon Help → Getting Started → Database engines. Once the database has been set up you need to install the database engine ODBC drivers on the Daemon client computers, and then connect Daemon to the new shared database through the Daemon Edit → Preferences → ODBC engine tab.
When the first Daemon client has made a connection to the new task database, it will set up and configure the tables to store the results. Configure the Daemon clients on the other computers to use the same shared database and you will see the shared task listed across all the clients.
If you made a backup of your original database you can now go to the go to the Edit → Preferences → ODBC connection tab and restore the contents to the new database. Note that this will overwrite any tasks that are in the new database.
Further considerations
There are a few things to note about the new set up.
You may want to add the Daemon Client computer name into the task name so that you can quickly tell which computer the task was initiated on. The default search title also includes the Daemon computer name by using the <localhost> tag.
If you clone a job from another system and either the data or the search parameters files were local to the original system, then the new task will fail as it will not be able to find the files. If the files are on a network share and the share name is the same on both systems then Daemon will be able to find them and the task will complete. You can also choose to store the Daemon parameters directly in the database, (Daemon Edit → Preferences → General) which means you only need to worry about the data file location.
A task can be configured to “Start on the completion of” another task. The task that it is following needs to have been started but does not need to be processing the files at that point. This way, you can chain a set of tasks to run in a custom order, task 2 on completion of task 1, task 3 on completion of task 2 etc.
You can also set up two tasks to start on the completion of an earlier task. This is useful if one of the tasks is going to be a longer one and you still want other tasks to run at the same time. Tasks can be scheduled first come, first served or in another order that reflects the importance or urgency of the job. We recommend running multiple tasks at once, particularly scheduling shorter/smaller searches to run at the same time as longer searches, rather than waiting for them to finish. This keeps the queue moving at a reasonable pace.