20 #include <sys/types.h>
23 #include "rmsummary.h"
25 #define WORK_QUEUE_DEFAULT_PORT 9123
26 #define WORK_QUEUE_RANDOM_PORT 0
28 #define WORK_QUEUE_WAITFORTASK -1
30 #define WORK_QUEUE_DEFAULT_KEEPALIVE_INTERVAL 120
31 #define WORK_QUEUE_DEFAULT_KEEPALIVE_TIMEOUT 30
49 WORK_QUEUE_SCHEDULE_UNSET = 0,
960 int work_queue_tune(
struct work_queue *q,
const char *name,
double value);
997 #define WORK_QUEUE_TASK_ORDER_FIFO 0
998 #define WORK_QUEUE_TASK_ORDER_LIFO 1
1006 void work_queue_specify_task_order(struct work_queue *q, int order);
1009 #define WORK_QUEUE_MASTER_MODE_STANDALONE 0
1010 #define WORK_QUEUE_MASTER_MODE_CATALOG 1
1019 void work_queue_specify_master_mode(struct work_queue *q, int mode);
int64_t total_memory
Total memory in MB aggregated across the connected workers.
Definition: work_queue.h:252
int work_queue_specify_min_taskid(struct work_queue *q, int minid)
Set the minimum taskid of future submitted tasks.
int try_count
The number of times the task has been dispatched to a worker.
Definition: work_queue.h:123
Task is ready to be run, waiting in queue.
Definition: work_queue.h:75
int64_t committed_gpus
Definition: work_queue.h:300
int64_t bytes_sent
Number of bytes sent since task has last started sending input data.
Definition: work_queue.h:144
If the filename already exists on the host, use it in place.
Definition: work_queue.h:42
void work_queue_specify_estimate_capacity_on(struct work_queue *q, int estimate_capacity_on)
Change whether to estimate master capacity for a given queue.
timestamp_t time_workers_execute
Total time workers spent executing done tasks.
Definition: work_queue.h:234
int64_t bytes_received
Number of bytes received since task has last started receiving input data.
Definition: work_queue.h:143
category_allocation_t resource_request
See category_allocation_t.
Definition: work_queue.h:118
int64_t committed_disk
Committed disk space in MB aggregated across the connected workers.
Definition: work_queue.h:257
Task results are available at the worker.
Definition: work_queue.h:77
int workers_connected
Number of workers currently connected to the master.
Definition: work_queue.h:190
int capacity_cores
The estimated number of workers' cores that this master can effectively support.
Definition: work_queue.h:245
int total_exhausted_attempts
Definition: work_queue.h:281
int64_t min_disk
The smallest disk space in MB observed among the connected workers.
Definition: work_queue.h:265
int disk_allocation_exhausted
Non-zero if a task filled its loop device allocation, zero otherwise.
Definition: work_queue.h:131
int work_queue_task_specify_file_piece(struct work_queue_task *t, const char *local_name, const char *remote_name, off_t start_byte, off_t end_byte, work_queue_file_type_t type, work_queue_file_flags_t flags)
Add a file piece to a task.
A task description.
Definition: work_queue.h:103
void work_queue_task_specify_cores(struct work_queue_task *t, int cores)
Specify the number of cores required by a task.
int workers_lost
Total number of worker connections that were unexpectedly lost.
Definition: work_queue.h:203
timestamp_t total_good_execute_time
Definition: work_queue.h:288
timestamp_t time_send_good
Total time spent in sending data to workers for tasks with result WQ_RESULT_SUCCESS.
Definition: work_queue.h:226
timestamp_t time_send_input_start
Definition: work_queue.h:162
int tasks_on_workers
Number of tasks currently dispatched to some worker.
Definition: work_queue.h:207
int tasks_dispatched
Total number of tasks dispatch to workers.
Definition: work_queue.h:213
struct list * work_queue_cancel_all_tasks(struct work_queue *q)
Cancel all submitted tasks and remove them from the queue.
void work_queue_task_specify_enviroment_variable(struct work_queue_task *t, const char *name, const char *value)
Specify an environment variable to be added to the task.
timestamp_t start_time
Definition: work_queue.h:282
timestamp_t cmd_execution_time
Definition: work_queue.h:174
char * monitor_output_directory
Custom output directory for the monitoring output files.
Definition: work_queue.h:150
struct list * features
User-defined features this task requires.
Definition: work_queue.h:153
int64_t bytes_received
Total number of file bytes (not including protocol control msg bytes) received from the workers by th...
Definition: work_queue.h:240
int tasks_running
Number of tasks currently executing at some worker.
Definition: work_queue.h:208
int work_queue_task_specify_input_file_do_not_cache(struct work_queue_task *t, const char *fname, const char *rname)
Add an input file to a task, without caching.
int total_workers_joined
Definition: work_queue.h:269
timestamp_t time_receive_good
Total time spent in sending data to workers for tasks with result WQ_RESULT_SUCCESS.
Definition: work_queue.h:227
Task results are available at the master.
Definition: work_queue.h:78
timestamp_t total_exhausted_execute_time
Definition: work_queue.h:289
int workers_joined
Total number of worker connections that were established to the master.
Definition: work_queue.h:197
int work_queue_task_specify_output_file(struct work_queue_task *t, const char *rname, const char *fname)
Add an output file to a task.
timestamp_t time_when_submitted
The time at which this task was added to the queue.
Definition: work_queue.h:128
timestamp_t time_workers_execute_last
Duration of the last complete execution for this task.
Definition: work_queue.h:138
timestamp_t time_receive_output_start
Definition: work_queue.h:166
int workers_blacklisted
Total number of workers blacklisted by the master.
Definition: work_queue.h:202
timestamp_t total_cmd_execution_time
Definition: work_queue.h:175
void work_queue_get_stats(struct work_queue *q, struct work_queue_stats *s)
Get queue statistics (only from master).
int workers_removed
Total number of worker connections that were released by the master, idled-out, fast-aborted, or lost.
Definition: work_queue.h:198
struct work_queue_task * work_queue_cancel_by_taskid(struct work_queue *q, int id)
Cancel a submitted task using its task id and remove it from queue.
int workers_full
Definition: work_queue.h:307
timestamp_t time_workers_execute_all
Accumulated time for executing the command on any worker, regardless of whether the task completed (i...
Definition: work_queue.h:139
int total_tasks_dispatched
Definition: work_queue.h:277
int capacity_memory
The estimated number of workers' MB of RAM that this master can effectively support.
Definition: work_queue.h:246
struct work_queue * work_queue_create(int port)
Create a new work queue.
timestamp_t total_good_transfer_time
Definition: work_queue.h:285
int workers_init
Number of workers connected, but that have not send their available resources report yet...
Definition: work_queue.h:191
int work_queue_enable_category_resource(struct work_queue *q, const char *category, const char *resource, int autolabel)
Turn on or off first-allocation labeling for a given category and resource.
int work_queue_task_specify_output_file_do_not_cache(struct work_queue_task *t, const char *rname, const char *fname)
Add an output file to a task without caching.
timestamp_t time_send_input_finish
Definition: work_queue.h:163
void work_queue_get_stats_hierarchy(struct work_queue *q, struct work_queue_stats *s)
Get statistics of the master queue together with foremen information.
timestamp_t time_app_delay
Definition: work_queue.h:183
int exhausted_attempts
Number of times the task failed given exhausted resources.
Definition: work_queue.h:124
void work_queue_task_specify_command(struct work_queue_task *t, const char *cmd)
Indicate the command to be executed.
int tasks_waiting
Number of tasks waiting to be dispatched.
Definition: work_queue.h:206
work_queue_task_state_t
Definition: work_queue.h:73
int workers_released
Total number of worker connections that were asked by the master to disconnect.
Definition: work_queue.h:199
char * hostname
The name of the host on which it ran.
Definition: work_queue.h:115
void work_queue_invalidate_cached_file(struct work_queue *q, const char *local_name, work_queue_file_t type)
Invalidate cached file.
The task ran for more than the specified time (relative since running in a worker).
Definition: work_queue.h:69
Portable routines for high resolution timing.
double work_queue_get_effective_bandwidth(struct work_queue *q)
Get current queue bandwidth.
int64_t total_gpus
Definition: work_queue.h:299
The task ran but failed to generate a specified output file.
Definition: work_queue.h:61
int64_t total_bytes_sent
Definition: work_queue.h:291
struct list * output_files
The output files (other than the standard output stream) created by the program to be retrieved from ...
Definition: work_queue.h:109
int priority
Definition: work_queue.h:305
int64_t total_bytes_transferred
Definition: work_queue.h:181
void work_queue_delete(struct work_queue *q)
Delete a work queue.
UINT64_T timestamp_t
A type to hold the current time, in microseconds since January 1st, 1970.
Definition: timestamp.h:20
struct list * env_list
Environment variables applied to the task.
Definition: work_queue.h:110
int tasks_complete
Definition: work_queue.h:275
int64_t min_gpus
Definition: work_queue.h:302
struct list * input_files
The files to transfer to the worker and place in the executing directory.
Definition: work_queue.h:108
double bandwidth
Average network bandwidth in MB/S observed by the master when transferring to workers.
Definition: work_queue.h:241
struct work_queue_task * work_queue_cancel_by_tasktag(struct work_queue *q, const char *tag)
Cancel a submitted task using its tag and remove it from queue.
work_queue_task_state_t work_queue_task_state(struct work_queue *q, int taskid)
Get the current state of the task.
int tasks_exhausted_attempts
Total number of task executions that failed given resource exhaustion.
Definition: work_queue.h:217
void work_queue_task_specify_running_time(struct work_queue_task *t, int64_t useconds)
Specify the maximum time (in microseconds) the task is allowed to run in a worker.
char * category
User-provided label for the task.
Definition: work_queue.h:117
int total_tasks_complete
Definition: work_queue.h:278
void work_queue_specify_catalog_servers(struct work_queue *q, const char *hosts)
Specify the catalog server(s) the master should report to.
struct work_queue_task * work_queue_wait(struct work_queue *q, int timeout)
Wait for a task to complete.
timestamp_t time_when_retrieval
The time when output files start to be transfered back to the master.
Definition: work_queue.h:136
void work_queue_task_specify_memory(struct work_queue_task *t, int64_t memory)
Specify the amount of disk space required by a task.
char * command_line
The program(s) to execute, as a shell command line.
Definition: work_queue.h:105
timestamp_t total_cmd_exhausted_execute_time
Definition: work_queue.h:176
The task filled its loop device allocation but needed more space.
Definition: work_queue.h:70
There is no such task.
Definition: work_queue.h:74
int64_t committed_memory
Committed memory in MB aggregated across the connected workers.
Definition: work_queue.h:256
timestamp_t total_time_until_worker_failure
Definition: work_queue.h:177
int total_workers_removed
Definition: work_queue.h:270
File-spec is a regular file.
Definition: work_queue.h:84
Task is done, and returned through work_queue_wait >
Definition: work_queue.h:79
The result could not be classified.
Definition: work_queue.h:66
Specify an output object.
Definition: work_queue.h:35
The task failed, but it was not a task error.
Definition: work_queue.h:67
int work_queue_specify_log(struct work_queue *q, const char *logfile)
Add a log file that records cummulative statistics of the connected workers and submitted tasks...
timestamp_t time_receive_output_finish
Definition: work_queue.h:167
Select worker that has the most data required by the task.
Definition: work_queue.h:51
int total_workers_fast_aborted
Definition: work_queue.h:273
timestamp_t time_task_submit
Definition: work_queue.h:158
timestamp_t time_receive_result_finish
Definition: work_queue.h:165
int work_queue_task_specify_input_buf(struct work_queue_task *t, const char *buf, int length, const char *rname)
Add an input buffer to a task.
int64_t committed_cores
Committed number of cores aggregated across the connected workers.
Definition: work_queue.h:255
int work_queue_task_specify_buffer(struct work_queue_task *t, const char *data, int length, const char *remote_name, work_queue_file_flags_t)
Add an input buffer to a task.
void work_queue_specify_catalog_server(struct work_queue *q, const char *hostname, int port)
Specify the catalog server the master should report to.
void work_queue_blacklist_add_with_timeout(struct work_queue *q, const char *hostname, time_t seconds)
Blacklist hostname from a queue.
char * host
The address and port of the host on which it ran.
Definition: work_queue.h:114
timestamp_t time_when_commit_end
The time when the task is completely transfered to a worker.
Definition: work_queue.h:134
int work_queue_port(struct work_queue *q)
Get the listening port of the queue.
work_queue_schedule_t
Definition: work_queue.h:48
int work_queue_specify_password_file(struct work_queue *q, const char *file)
Add a mandatory password file that each worker must present.
Access the file on the client from a shared filesystem (same as WORK_QUEUE_THIRDGET, included for readability)
Definition: work_queue.h:44
int taskid
A unique task id number.
Definition: work_queue.h:111
int avg_capacity
Definition: work_queue.h:309
int workers_busy
Number of workers that are running at least one task.
Definition: work_queue.h:193
timestamp_t time_polling
Total time blocking waiting for worker communications (i.e., master idle waiting for a worker message...
Definition: work_queue.h:230
struct work_queue_task * work_queue_task_create(const char *full_command)
Create a new task object.
File-spec refers to an URL.
Definition: work_queue.h:89
void work_queue_specify_password(struct work_queue *q, const char *password)
Add a mandatory password that each worker must present.
int capacity_tasks
The estimated number of tasks that this master can effectively support.
Definition: work_queue.h:244
struct rmsummary * resources_measured
When monitoring is enabled, it points to the measured resources used by the task in its latest attemp...
Definition: work_queue.h:148
timestamp_t time_status_msgs
Total time spent sending and receiving status messages to and from workers, including workers' standa...
Definition: work_queue.h:228
timestamp_t time_committed
Definition: work_queue.h:160
int workers_fast_aborted
Total number of worker connections terminated for being too slow.
Definition: work_queue.h:201
int port
Definition: work_queue.h:304
work_queue_schedule_t worker_selection_algorithm
How to choose worker to run the task.
Definition: work_queue.h:106
The task ran successfully.
Definition: work_queue.h:59
int64_t total_bytes_received
Definition: work_queue.h:292
void work_queue_task_specify_tag(struct work_queue_task *t, const char *tag)
Attach a user defined string tag to the task.
timestamp_t time_workers_execute_failure
Accumulated time for runs that terminated in worker failure/disconnection.
Definition: work_queue.h:141
timestamp_t time_when_done
The time at which the task is mark as retrieved, after transfering output files and other final proce...
Definition: work_queue.h:129
int total_tasks_cancelled
Definition: work_queue.h:280
Create a symlink to the file rather than copying it, if possible.
Definition: work_queue.h:41
struct rmsummary * resources_allocated
Resources allocated to the task its latest attempt.
Definition: work_queue.h:147
void work_queue_task_specify_priority(struct work_queue_task *t, double priority)
Specify the priority of this task relative to others in the queue.
int max_retries
Number of times the task is tried to be executed on some workers until success.
Definition: work_queue.h:121
struct rmsummary * resources_requested
Number of cores, disk, memory, time, etc.
Definition: work_queue.h:149
void work_queue_master_preferred_connection(struct work_queue *q, const char *preferred_connection)
Set the preference for using hostname over IP address to connect.
File-spec is a regular file.
Definition: work_queue.h:86
work_queue_result_t result
The result of the task (see work_queue_result_t.
Definition: work_queue.h:113
void work_queue_task_specify_max_retries(struct work_queue_task *t, int64_t max_retries)
Specify the number of times this task is retried on worker errors.
void work_queue_blacklist_add(struct work_queue *q, const char *hostname)
Blacklist hostname from a queue.
struct work_queue_task * work_queue_task_clone(const struct work_queue_task *task)
Create a copy of a task Create a functionally identical copy of a work_queue_task that can be re-sub...
int work_queue_empty(struct work_queue *q)
Determine whether the queue is empty.
int tasks_failed
Total number of tasks completed and returned to user with result other than WQ_RESULT_SUCCESS.
Definition: work_queue.h:215
void work_queue_task_specify_disk(struct work_queue_task *t, int64_t disk)
Specify the amount of disk space required by a task.
int work_queue_shut_down_workers(struct work_queue *q, int n)
Shut down workers connected to the work_queue system.
void work_queue_task_specify_algorithm(struct work_queue_task *t, work_queue_schedule_t algorithm)
Select the scheduling algorithm for a single task.
work_queue_file_type_t
Definition: work_queue.h:33
int64_t min_memory
The smallest memory size in MB observed among the connected workers.
Definition: work_queue.h:264
void work_queue_set_bandwidth_limit(struct work_queue *q, const char *bandwidth)
Limit the queue bandwidth when transferring files to and from workers.
void work_queue_task_specify_category(struct work_queue_task *t, const char *category)
Label the task with the given category.
void work_queue_task_specify_feature(struct work_queue_task *t, const char *name, int64_t count)
Label the task with a user-defined feature.
work_queue_result_t
Definition: work_queue.h:58
timestamp_t time_workers_execute_good
Total time workers spent executing done tasks with result WQ_RESULT_SUCCESS.
Definition: work_queue.h:235
Cache file at execution site for later use.
Definition: work_queue.h:40
int64_t bytes_transferred
Number of bytes transferred since task has last started transferring input data.
Definition: work_queue.h:145
int total_workers_idled_out
Definition: work_queue.h:272
File-spec is a directory.
Definition: work_queue.h:88
The task ran after the specified (absolute since epoch) end time.
Definition: work_queue.h:65
const char * work_queue_name(struct work_queue *q)
Get the project name of the queue.
int total_workers_lost
Definition: work_queue.h:271
double priority
The priority of this task relative to others in the queue: higher number run earlier.
Definition: work_queue.h:120
void work_queue_get_stats_category(struct work_queue *q, const char *c, struct work_queue_stats *s)
Get the task statistics for the given category.
timestamp_t time_workers_execute_exhaustion
Total time workers spent executing tasks that exhausted resources.
Definition: work_queue.h:236
int tasks_submitted
Total number of tasks submitted to the queue.
Definition: work_queue.h:212
void work_queue_specify_keepalive_timeout(struct work_queue *q, int timeout)
Change the keepalive timeout for identifying dead workers for a given queue.
int work_queue_enable_monitoring(struct work_queue *q, char *monitor_output_directory, int watchdog)
Enables resource monitoring on the give work queue.
void work_queue_specify_num_tasks_left(struct work_queue *q, int ntasks)
Specify the number of tasks not yet submitted to the queue.
Watch the output file and send back changes as the task runs.
Definition: work_queue.h:45
void work_queue_blacklist_clear(struct work_queue *q)
Clear blacklist of a queue.
Statistics describing a work queue.
Definition: work_queue.h:188
Definition: rmsummary.h:27
timestamp_t time_when_commit_start
The time when the task starts to be transfered to a worker.
Definition: work_queue.h:133
int capacity_disk
The estimated number of workers' MB of disk that this master can effectively support.
Definition: work_queue.h:247
void work_queue_specify_max_resources(struct work_queue *q, const struct rmsummary *rm)
Sets the maximum resources a task without an explicit category ("default" category).
timestamp_t time_receive_result_start
Definition: work_queue.h:164
int return_status
The exit code of the command line.
Definition: work_queue.h:112
Select worker on a first-come-first-serve basis.
Definition: work_queue.h:50
int64_t bytes_sent
Total number of file bytes (not including protocol control msg bytes) sent out to the workers by the ...
Definition: work_queue.h:239
int64_t min_cores
The lowest number of cores observed among the connected workers.
Definition: work_queue.h:263
int work_queue_specify_category_mode(struct work_queue *q, const char *category, category_mode_t mode)
Turn on or off first-allocation labeling for a given category.
int64_t max_gpus
Definition: work_queue.h:301
Access the file on the client from a shared filesystem.
Definition: work_queue.h:43
void work_queue_task_specify_gpus(struct work_queue_task *t, int gpus)
Specify the number of gpus required by a task.
int total_workers_connected
Definition: work_queue.h:268
timestamp_t total_receive_time
Definition: work_queue.h:284
int work_queue_enable_monitoring_full(struct work_queue *q, char *monitor_output_directory, int watchdog)
Enables resource monitoring on the give work queue.
int tasks_with_results
Number of tasks with retrieved results and waiting to be returned to user.
Definition: work_queue.h:209
int work_queue_hungry(struct work_queue *q)
Determine whether the queue is 'hungry' for more tasks.
The task could not be completed successfully in the given number of retries.
Definition: work_queue.h:68
int work_queue_activate_fast_abort_category(struct work_queue *q, const char *category, double multiplier)
Turn on or off fast abort functionality for a given category.
Task has been dispatched to some worker.
Definition: work_queue.h:76
int work_queue_tune(struct work_queue *q, const char *name, double value)
Tune advanced parameters for work queue.
int64_t total_cores
Total number of cores aggregated across the connected workers.
Definition: work_queue.h:251
Select a random worker.
Definition: work_queue.h:53
The task cannot be run due to a missing input file.
Definition: work_queue.h:60
int tasks_done
Total number of tasks completed and returned to user.
Definition: work_queue.h:214
double capacity
Definition: work_queue.h:294
int total_worker_slots
Definition: work_queue.h:308
timestamp_t time_internal
Total time the queue spents in internal processing.
Definition: work_queue.h:229
int64_t max_disk
The largest disk space in MB observed among the connected workers.
Definition: work_queue.h:261
Select worker that has the fastest execution time on previous tasks.
Definition: work_queue.h:52
timestamp_t total_transfer_time
Definition: work_queue.h:172
double idle_percentage
Definition: work_queue.h:297
Task was canceled before completion.
Definition: work_queue.h:80
int work_queue_activate_fast_abort(struct work_queue *q, double multiplier)
Turn on or off fast abort functionality for a given queue for tasks without an explicit category...
int64_t total_disk
Total disk space in MB aggregated across the connected workers.
Definition: work_queue.h:253
char * tag
An optional user-defined logical name for the task.
Definition: work_queue.h:104
timestamp_t time_when_started
Absolute time at which the master started.
Definition: work_queue.h:223
timestamp_t total_execute_time
Definition: work_queue.h:287
int work_queue_submit(struct work_queue *q, struct work_queue_task *t)
Submit a task to a queue.
timestamp_t time_execute_cmd_finish
Definition: work_queue.h:170
Select the worst fit worker (the worker with more unused resources).
Definition: work_queue.h:54
int workers_idled_out
Total number of worker that disconnected for being idle.
Definition: work_queue.h:200
double efficiency
Definition: work_queue.h:296
void work_queue_specify_keepalive_interval(struct work_queue *q, int interval)
Change the keepalive interval for a given queue.
The task was terminated with a signal.
Definition: work_queue.h:63
timestamp_t time_task_finish
Definition: work_queue.h:159
int work_queue_task_specify_input_file(struct work_queue_task *t, const char *fname, const char *rname)
Add an input file to a task.
int workers_able
Number of workers on which the largest task can run.
Definition: work_queue.h:194
timestamp_t time_execute_cmd_start
Definition: work_queue.h:169
char * monitor_snapshot_file
Filename the monitor checks to produce snapshots.
Definition: work_queue.h:152
int workers_idle
Number of workers that are not running a task.
Definition: work_queue.h:192
int wq_option_scheduler
Initial setting for algorithm to assign tasks to workers upon creating queue .
void work_queue_task_specify_end_time(struct work_queue_task *t, int64_t useconds)
Specify the maximum end time allowed for the task (in microseconds since the Epoch).
timestamp_t time_send
Total time spent in sending tasks to workers (tasks descriptions, and input files.).
Definition: work_queue.h:224
int work_queue_task_specify_directory(struct work_queue_task *t, const char *local_name, const char *remote_name, work_queue_file_type_t type, work_queue_file_flags_t, int recursive)
Add a directory to a task.
int work_queue_specify_snapshot_file(struct work_queue_task *t, const char *monitor_snapshot_file)
When monitoring, indicates a json-encoded file that instructs the monitor to take a snapshot of the ...
void work_queue_specify_category_max_resources(struct work_queue *q, const char *category, const struct rmsummary *rm)
Sets the maximum resources a task in the category may use.
int64_t total_bytes_sent
Definition: work_queue.h:180
timestamp_t total_send_time
Definition: work_queue.h:283
work_queue_file_t
Definition: work_queue.h:83
char * work_queue_get_worker_summary(struct work_queue *q)
Summarize workers.
void work_queue_initialize_categories(struct work_queue *q, struct rmsummary *max, const char *summaries_file)
Initialize first value of categories.
void work_queue_specify_priority(struct work_queue *q, int priority)
Change the priority for a given queue.
int capacity_instantaneous
The estimated number of tasks that this master can support considering only the most recently complet...
Definition: work_queue.h:248
int64_t total_bytes_received
Definition: work_queue.h:179
int total_tasks_failed
Definition: work_queue.h:279
Data comes from buffer memory.
Definition: work_queue.h:85
timestamp_t time_receive
Total time spent in receiving results from workers (output files.).
Definition: work_queue.h:225
int work_queue_specify_transactions_log(struct work_queue *q, const char *logfile)
Add a log file that records the states of the connected workers and tasks.
int64_t max_memory
The largest memory size in MB observed among the connected workers.
Definition: work_queue.h:260
void work_queue_task_specify_monitor_output(struct work_queue_task *t, const char *monitor_output)
Specify a custom name for the monitoring summary.
void work_queue_task_delete(struct work_queue_task *t)
Delete a task.
int work_queue_task_specify_file(struct work_queue_task *t, const char *local_name, const char *remote_name, work_queue_file_type_t type, work_queue_file_flags_t flags)
Add a file to a task.
timestamp_t time_workers_execute_exhaustion
Accumulated time spent in attempts that exhausted resources.
Definition: work_queue.h:140
char * output
The standard output of the task.
Definition: work_queue.h:107
work_queue_file_flags_t
Definition: work_queue.h:38
timestamp_t time_application
Total time spent outside work_queue_wait.
Definition: work_queue.h:231
void work_queue_blacklist_remove(struct work_queue *q, const char *hostname)
Unblacklist host from a queue.
void work_queue_specify_category_first_allocation_guess(struct work_queue *q, const char *category, const struct rmsummary *rm)
Set the initial guess for resource autolabeling for the given category.
The task used more resources than requested.
Definition: work_queue.h:64
void work_queue_specify_name(struct work_queue *q, const char *name)
Change the project name for a given queue.
File-spec refers to only a part of a file.
Definition: work_queue.h:87
int workers_ready
Definition: work_queue.h:306
void work_queue_specify_algorithm(struct work_queue *q, work_queue_schedule_t algorithm)
Change the worker selection algorithm.
Do not cache file at execution site.
Definition: work_queue.h:39
char * work_queue_generate_disk_alloc_full_filename(char *pwd, int taskid)
Generate a worker-level unique filename to indicate a disk allocation being full. ...
Specify an input object.
Definition: work_queue.h:34
Definition: category.h:49
int capacity_weighted
The estimated number of tasks that this master can support placing greater weight on the most recentl...
Definition: work_queue.h:249
int64_t max_cores
The highest number of cores observed among the connected workers.
Definition: work_queue.h:259
int tasks_cancelled
Total number of tasks cancelled.
Definition: work_queue.h:216
The task ran but its stdout has been truncated.
Definition: work_queue.h:62