Skip to content

Assimilation introduction

David Anderson edited this page Jan 11, 2024 · 2 revisions

Completed jobs are handled by programs called assimilators. These are generally application-specific: they might copy output files from the BOINC upload directory to a permanent location, or they might parse the output files and insert results into a database.

You can write assimilators in C++ or in scripting languages like Python, PHP, Perl, or sh.

Running assimilators

Run assimilators as daemons: that is, add an entry

<daemon>
   <cmd> my_assimilator --app APPNAME </cmd>
</daemon>

to your project's configuration file.

Command-line options

All assimilators have the following command-line options:

--app name

the application name

[ --mod N R ]

process only jobs with mod(ID, N) == R. This lets you run multiple assimilators in parallel to increase throughput.

[ -d N ]

set verbosity level (1 = least, 3 = most)

[ --dont_update_db ]

don't mark jobs as assimilated (for testing)

Clone this wiki locally