Skip to content

Commit 01ef401

Browse files
committed
Updates
1 parent 5b2f922 commit 01ef401

File tree

5 files changed

+17
-7
lines changed

5 files changed

+17
-7
lines changed

turbinia/state_manager.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,7 +616,8 @@ def get_request_status(self, request_id):
616616
request_status = 'successful'
617617
elif len(request_data['task_ids']) == len(request_data['failed_tasks']):
618618
request_status = 'failed'
619-
elif len(request_data['running_tasks']) > 0:
619+
elif len(request_data['running_tasks']) > 0 or len(
620+
request_data['queued_tasks']) > 0:
620621
request_status = 'running'
621622
elif len(request_data['failed_tasks']) > 0 and all_tasks_finished:
622623
request_status = 'completed_with_errors'

turbinia/task_manager.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -713,7 +713,11 @@ def process_tasks(self):
713713
elif celery_task.status == celery_states.PENDING:
714714
task.status = 'pending'
715715
check_timeout = True
716-
log.debug(f'Task {celery_task.id:s} status pending.')
716+
log.debug(f'Task {celery_task.id:s} is pending.')
717+
elif celery_task.status == celery_states.RECEIVED:
718+
task.status = 'queued'
719+
check_timeout = True
720+
log.debug(f'Task {celery_task.id:s} is queued.')
717721
elif celery_task.status == celery_states.REVOKED:
718722
message = (
719723
f'Celery task {celery_task.id:s} associated with Turbinia '

turbinia/workers/__init__.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1039,10 +1039,14 @@ def run_wrapper(self, evidence):
10391039

10401040
log.debug(f'Task {self.name:s} {self.id:s} awaiting execution')
10411041
failure_message = None
1042+
worker_name = platform.node()
10421043
try:
10431044
evidence = evidence_decode(evidence)
10441045
self.result = self.setup(evidence)
10451046
self.update_task_status(self, 'queued')
1047+
task_key = self.state_manager.redis_client.build_key_name('task', self.id)
1048+
self.state_manager.redis_client.set_attribute(
1049+
task_key, 'worker_name', json.dumps(worker_name))
10461050
turbinia_worker_tasks_queued_total.inc()
10471051
task_runtime_metrics = self.get_metrics()
10481052
except TurbiniaException as exception:
@@ -1098,12 +1102,7 @@ def run_wrapper(self, evidence):
10981102
self.task_config = self.get_task_recipe(evidence.config)
10991103
self.worker_start_time = datetime.now()
11001104
# Update task status so we know which worker the task executed on.
1101-
worker_name = platform.node()
11021105
updated_status = f'Task is running on {worker_name}'
1103-
task_key = self.state_manager.redis_client.build_key_name(
1104-
'task', self.id)
1105-
self.state_manager.redis_client.set_attribute(
1106-
task_key, 'worker_name', json.dumps(worker_name))
11071106
self.update_task_status(self, updated_status)
11081107
self.result = self.run(evidence, self.result)
11091108

web/src/components/TaskDetails.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,9 @@ limitations under the License.
164164
<div v-if="taskDetails.successful">
165165
{{ taskDetails.successful }}
166166
</div>
167+
<div v-else-if="taskDetails.successful == false">
168+
False
169+
</div>
167170
<div v-else>N/A</div>
168171
</v-list-item>
169172
<v-list-item title="Run Time:">

web/src/components/TaskList.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ export default {
7878
if (taskStatusTemp === null || taskStatusTemp === "pending") {
7979
taskStatusTemp = 'is pending on server.'
8080
}
81+
else if (taskStatusTemp == "queued") {
82+
taskStatusTemp = 'is queued for execution.'
83+
}
8184
if (this.filterJobs.length > 0) {
8285
let jobName = task_dict.job_name.toLowerCase()
8386
if (this.radioFilter && !this.filterJobs.includes(jobName)) {

0 commit comments

Comments
 (0)