You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* vine: do not count as tasks completed missing transfers
* vine: transient error to usecs to make it easier to use
* vine: adds failure time to worker
* transfer missing into forsaken
* record time task failure on status
* throttle worker that could not get file (all cases)
* keep track of number of forsaken attempts
* correctly initialize max forsaken
* temp fix: disconnect workers that forsake tasks with no completions
* fix typo
Copy file name to clipboardExpand all lines: taskvine/src/manager/taskvine.h
+9-3Lines changed: 9 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -97,8 +97,7 @@ typedef enum {
97
97
VINE_RESULT_OUTPUT_TRANSFER_ERROR=9 << 3, /**< The task failed because an output could be transfered to the manager (not enough disk space, incorrect write permissions. */
98
98
VINE_RESULT_FIXED_LOCATION_MISSING=10 << 3, /**< The task failed because no worker could satisfy the fixed location input file requirements. */
99
99
VINE_RESULT_CANCELLED=11<<3, /**< The task was cancelled by the caller. */
100
-
VINE_RESULT_LIBRARY_EXIT=12 << 3, /**< Task is a library that has terminated. **/
101
-
VINE_RESULT_TRANSFER_MISSING=13 << 3, /**< Task failed because a worker could not fetch a file. **/
100
+
VINE_RESULT_LIBRARY_EXIT=12 << 3/**< Task is a library that has terminated. **/
102
101
} vine_result_t;
103
102
104
103
/** Select how to allocate resources for similar tasks with @ref vine_set_category_mode */
/** Specify the number of times this task is retried on worker errors. If less than one, the task is retried indefinitely (this the default). A task that did not succeed after the given number of retries is returned with result VINE_RESULT_MAX_RETRIES.
288
+
/** Specify the number of times this task is retried on worker errors. If less than one, the task is retried indefinitely (this the default). A task that did not succeed after the given number of retries is returned with the result of its last attempt.
/** Specify the total number of times this task can be return to the manager without being executed. If less than zero, the task is tried indefinitely (this the default). A task that did not succeed after the given number is returned with the result VINE_RESULT_FORSAKEN.
Copy file name to clipboardExpand all lines: taskvine/src/manager/vine_task.h
+7-4Lines changed: 7 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -61,17 +61,20 @@ struct vine_task {
61
61
vine_schedule_tworker_selection_algorithm; /**< How to choose worker to run the task. */
62
62
doublepriority; /**< The priority of this task relative to others in the queue: higher number run earlier. */
63
63
intmax_retries; /**< Number of times the task is tried to be executed on some workers until success. If less than one, the task is retried indefinitely. See try_count below.*/
64
+
intmax_forsaken; /**< Number of times the task is submitted to workers without being executed. If less than one, the task is retried indefinitely. See forsaken_count below.*/
64
65
int64_tmin_running_time; /**< Minimum time (in seconds) the task needs to run. (see vine_worker --wall-time)*/
65
66
66
67
/***** Internal state of task as it works towards completion. *****/
67
68
68
69
vine_task_state_tstate; /**< Current state of task: READY, RUNNING, etc */
69
70
structvine_worker_info*worker; /**< Worker to which this task has been dispatched. */
70
71
structvine_task*library_task; /**< Library task to which a function task has been matched. */
71
-
inttry_count; /**< The number of times the task has been dispatched to a worker. If larger than max_retries, the task failes with @ref VINE_RESULT_MAX_RETRIES. */
72
-
intexhausted_attempts; /**< Number of times the task failed given exhausted resources. */
73
-
intworkers_slow; /**< Number of times this task has been terminated for running too long. */
74
-
intfunction_slots_inuse; /**< If a library, the number of functions currently running. */
72
+
inttry_count; /**< The number of times the task has been dispatched to a worker without being forsaken. If larger than max_retries, return with result of last attempt. */
73
+
intforsaken_count; /**< The number of times the task has been dispatched to a worker. If larger than max_forsaken, return with VINE_RESULT_FORSAKEN. */
74
+
intexhausted_attempts; /**< Number of times the task failed given exhausted resources. */
75
+
intforsaken_attempts; /**< Number of times the task was submitted to a worker but failed to start execution. */
76
+
intworkers_slow; /**< Number of times this task has been terminated for running too long. */
77
+
intfunction_slots_inuse; /**< If a library, the number of functions currently running. */
75
78
76
79
/***** Results of task once it has reached completion. *****/
0 commit comments