-
Notifications
You must be signed in to change notification settings - Fork 21
Specifications for basic data structures
Wei Tang edited this page Jun 17, 2014
·
8 revisions
Attribute | Type | Json string | Values | Notes |
---|---|---|---|---|
Id | string | id | e.g. c779a7f7-953d-4079-8388-591ee2065bad | uuid |
Jid | string | jid | e.g. 12367 | incremental job id per awe-server domain |
Info | *Info | info | job info | |
Tasks | []*Task | tasks | an array of task struct | |
State | string | state |
init: initial state at job submission queued:parsed and waiting in queue in-progress:at least one workunit is out completed: all tasks done suspend: paused for failure or manually deleted: manually removed |
|
Registered | bool | registered |
true: in the queue (in memory) false: in mongodb only |
|
RemainTasks | int | remaintasks | 0 -- len(Tasks) | number of tasks not done |
UpdateTime | time.Time | updatetime | e.g."2014-02-09T15:43:40.574Z" | timestamp for last state update |
Notes | string | notes | e.g."job suspended for xxx reason" | notes for last state update |
LastFailed | string | lastfailed | 99abf2eb-380f-47ec-8d43-11be265b4594_2_0 | the id of the task or workunit which causes the job suspension (more detailed reason can be found in Notes) |
Attribute | Type | Json string | Values | Notes |
---|---|---|---|---|
Id | string | id | e.g. c779a7f7-953d-4079-8388-591ee2065bad_1 | jobid_stage |
Info | *Info | info | job info (inherited) | |
Inputs | IOmap (map[string]*IO) | inputs | list of input files | |
Outputs | IOmap (map[string]*IO) | outputs | list of output files | |
Predata | IOmap (map[string]*IO) | predata | list of prerequisite data (e.g. reference dbs) | |
Cmd | *Command | cmd | cmd definition (cmd name, args, etc) | |
DependOn | []string | dependsOn | the list of parent tasks (predecessor in the DAG) | |
MaxWorkSize | int | maxworksize | e.g. 50 | max input per workunit (in MB) |
TotalWork | int | totalwork | e.g. 16 | number of workunits to split |
RemainWork | int | remainwork | e.g. 7 | number of workunits that not done |
State | string | state |
init: initial state queued:ready and waiting in queue in-progress:at least one workunit is out pending:not parsed yet for parent task not done completed: all workunits done suspend: paused for failure or manually |
|
CreatedDate | time.Time | createdate | e.g."2014-02-09T15:43:40.574Z" | timestamp (“queued”) |
StartedDate | time.Time | starteddate | e.g."2014-02-09T15:45:40.574Z" | timestamp for (“in-progress”) |
CompletedDate | time.Time | completeddate | e.g."2014-02-09T15:46:40.574Z" | timestamp for (“completed”) |
ComputeTime | int | computetime | e.g. 3600 | aggregated workunit compute walltime (in second) |
Attribute | Type | Json string | Values | Notes |
---|---|---|---|---|
Id | string | id | e.g. c779a7f7-953d-4079-8388-591ee2065bad_1_5 | jobid_stage_rank |
Info | *Info | info | job info (inherited) | |
Inputs | IOmap | inputs | inherited from task | |
Outputs | IOmap | outputs | inherited from task | |
Predata | IOmap | predata | inherited from task | |
Cmd | *Command | cmd | inherited from task | |
Rank | int | rank | 0 or 5 | 0 means it is the only workunit, an integer >0 means it is one of multiple splits |
State | string | state |
queued:waiting in queue checkout:being checked out by some client completed:successfully done suspend: failed thus suspended |
|
Failed | int | e.g. 2 | number of times failed (can result in “suspend” if larger than threshold (e.g. 5) | |
CheckoutTime | time.Time | checkout_time | e.g."2014-02-09T15:43:40.574Z" | timestamp being checked out |
Client | string | client | id of the client which is processing this workunit | |
ComputeTime | int | computetime | e.g. 600 | compute walltime (in second) |
Attribute | Type | Json string | Values | Notes |
---|---|---|---|---|
Id | string | id | e.g. c779a7f7-953d-4079-8388-591ee2065bad | uuid |
Name | string | name | human readable name | |
Group | string | group | representing logical “queue’” name, matching job group name | |
User | string | user | owner | |
Domain | string | domain | e.g. “magellan” | representing physical region of computing resources |
InstanceId | string | instance_id | e.g. 000dfa | openstack instance id (optional) |
InstanceType | string | instance_type | idp100 | openstack instance type/flavor (optional) |
RemainTasks | int | remaintasks | 0 -- len(Tasks) | number of tasks not done |
Host | string | string | host ip address | |
CPUs | int | cores | e.g. 8 | number of cores |
Apps | []string | apps | [“fgs”,”bowtie”] | array, supported commands, “*” for any app |
RegTime | time.Time | regtime | time stamp the clients first registered | |
Serve_time | Serve_time | serve_time | e.g. 50h16m | time period since first reigstered |
Idle_time | int | idle_time | 3600 | time (in second) since last time idling |
Status | string | Status |
active-idle: up running but idle active-busy:processing some workunit(s) suspend:not able to get workunits (for failure or manually paused) |
|
Total_checkout | int | total_checkout | e.g. 50 | number of workunits checked out by this client |
Total_completed | int | total_checkout | e.g. 45 | number of work units completed at this client |
Total_failed | int | total_failed | e.g. 5 | number of work units failed at this client |
Current_work | map[string]bool current_work | {<workunit_id>} | id list of workunits being processed by this client | |
Skip_work | []string | skip_work | [<workunit_id>] | id list of workunits failed at this client (skip checking out next time) |
Proxy | bool proxy | True means this client is a proxy | ||
SubClients | int | subclients | e.g. 5 | number of subclients registered (valid only when proxy=true |
Attribute | Type | Json string | Values | Notes |
---|---|---|---|---|
Name | string | name | job name | |
Project | string | project | job name | |
User | string | user | user name | |
Pipeline | string | pipeline | pipeline/workflow name | |
ClientGroups | string | clientgroups | a list of client group that can run this job | group_name_a,group_name_b |
SubmitTime | time.Time | submittime | job submit time | |
StartedTime | time.Time | startedtime | job started time (first workunit started) | |
CompletedTime | time.time | completedtime | job completed time | |
Priority | int | priority | priority level | default 1, can be changed to any integer |
Auth | bool | auth | if true, means the job needs data token to access private shock data | |
NoRetry | bool | noretry | if set to true, the workunit will fail without retry (other wise will retry 3 times before being suspended) | |
UserAttr | map[string]string | userattr | user specified job attributes |
type PartInfo struct {
Input string bson:"input" json:"input"
Index string bson:"index" json:"index"
TotalIndex int bson:"totalindex" json:"totalindex"
MaxPartSizeMB int bson:"maxpartsize_mb" json:"maxpartsize_mb"
Options string bson:"options" json:"-"
}
Attribute | Type | Json string | Values | Notes |
---|---|---|---|---|
Name | string | name | the name of the io object (file name) | |
Host | string | host | shock host | |
Node | string | node | shock node id | |
Url | string | url | downloading url | |
Size | string | size | file size | |
Origin | string | origin | parent task which produces this file as output | |
Nonzero | bool | nonzero | if set true, this file must be nonzero; if zero, report failure | |
ShockFilename | string | shockfilename | if this name is non-empty, use this name other than that in "name" field when uploading file to shock | |
ShockIndex | string | shockindex | if non-empty, create index using this index type after uploading data to shock | |
AttrFile | string | attrfile | specify the attribute file path to be uploaded to shock as metadata |
Attribute | Type | Json string | Values | Notes |
---|---|---|---|---|
Name | string | name | the name of the command (executable) | |
Args | string | args | arge list in a string | |
Docerimage | string | dockerimage | docker image url | (optional) |
Environs | Envs | environ | environmental variables | (optional) |
HasPrivateEnv | bool | has_private_env | if set, Environs has non-empty "Private" field | |
Description | string | description | description of this command |