This library/platform requires a companion PostgreSQL database that will be used for tracking managed jobs.
The schema of the database is configured and maintained by the library itself, thus the library requires credentials for a user that has permission to create, modify, and delete schemata and tables under the target database.
It is recommended that the database not be shared with or used for other purposes.
The database load generated by this library is quite light, so there should be no issue sharing a PostgreSQL instance with other databases.
The user the platform uses to connect to the configured database should have effectively all permissions on the target database.
CREATE DATABASE my_database;
CREATE USER my_db_user WITH LOGIN PASSWORD 'somesecretpassword';
GRANT ALL ON DATABASE my_database TO my_db_user;
As of version 1 of the platform, all tables managed by the platform will exist
under the schema compute
.
The compute.meta
table holds key/value pairs and is meant to be used solely
for storing data relevant to the maintenance of the service, or service
internals unrelated to jobs.
Column | Type | Constraints | Purpose |
---|---|---|---|
|
|
|
Key/value pair key name. |
|
|
|
Key/value pair value. |
Column | Type | Constraints | Purpose |
---|---|---|---|
|
|
|
Hash ID of the job. |
|
|
|
Current job status. |
|
|
|
ID/name of the queue the job was submitted to. |
|
|
Serialized configuration for the job. |
|
|
|
|
Array of the names of files that were included with the job. |
|
|
|
Timestamp for when the job was originally created and queued. |
|
|
|
Timestamp for when the job was last accessed. |
|
|
Timestamp for when the job was pulled from the queue to be run. |
|
|
|
Timestamp for when the job was finished (successfully or not) |
|
|
|
Array of the names of files that were created by the job. |