Version 3 (modified by 17 years ago) (diff) | ,
---|
Bossa reference manual
Creating a Bossa project
First, set up a BOINC server and create a project. Say your project is called 'test_project', your BOINC source directory is '~/boinc', and your BOINC projects directory is '~/projects'.
Create Bossa's database tables as follows:
cd ~/boinc/db mysql test_project < bossa_schema.sql mysql test_project < bossa_constraints.sql
Create a Bossa application (see below) as follows:
cd ~/projects/test_project/html/ops php bossa_setup_example.php
You can edit bossa_setup_example.php to change the application name and front-end script name, if you like.
The Bossa database tables
Until Bossa has good web-based administration tools, you'll need to examine and modify the MySQL database directly, using the command-line tool 'mysql', or a web-based interface such as phpMyAdmin.
The Bossa tables are as follows:
bossa_app:
field name | type | meaning |
id | integer | row ID, assigned by MySQL |
create_time | integer | row creation time |
name | varchar(255) | short name (internal use; no spaces) |
user_friendly_name | varchar(255) | user-visible name (spaces OK) |
long_jobs | tinyint | nonzero if user can have > 1 active job |
start_url | varchar(255) | name (relative to project URL) of start script |
deprecated | tinyint | nonzero if deprecated (don't show) |
info | text | information (typically encoded in JSON) such as the criteria for which users to issue jobs to |
bossa_job:
field name | type | meaning |
id | integer | row ID, assigned by MySQL |
create_time | integer | row creation time |
name | varchar(255) | a unique name for this job |
app_id | integer | ID of bossa_app |
info | text | job-specific info (file names etc.) typically JSON-encoded |
batch | integer | batch number (use to group jobs) |
time_estimate | integer | number of seconds this job is likely to take |
time_limit | integer | give up if not completed after this number of seconds |
more_needed | tinyint | nonzero if more completed instances of this job are needed |
npending | integer | number of pending instances |
nsuccess | integer | number of successfully completed instances |
nsuccess_needed | integer | required number of successfully completed instances |
bossa_job_inst:
field name | type | meaning |
id | integer | row ID, assigned by MySQL |
create_time | integer | row creation time |
job_id | integer | ID of bossa_job |
user_id | integer | ID of user |
finish_time | integer | time when finished, or zero |
info | text | outcome info (usually JSON-encoded) |
bossa_app_user:
app_id | integer | ID of bossa_app |
user_id | integer | ID of user |
info | text | description of the user's skill or ranking at a given app, typically JSON-encoded |