Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various updates to task management #1546

Merged
merged 10 commits into from
Oct 1, 2024
Merged

Conversation

jleaniz
Copy link
Collaborator

@jleaniz jleaniz commented Sep 17, 2024

Description of the change

This PR

  • Fixes an issue in which task status is not properly tracked, which caused request status to never fully complete.
  • Adds a result_backend configuration option for Celery in order to persist celery task metadata in Redis.
  • Adds a worker_deduplicate_successful_tasks configuration option to Celery to avoid duplicate messages of successful tasks.
  • Adds a task_reject_on_worker_lost configuration option to Celery so tasks can be re-queued if a worker abruptly exists (e.g. SIGTERM/SIGKILL signal sent from GKE or OS process to celery worker)
  • Adds a celery_id attribute to Turbinia tasks for traceability between Turbinia and Celery tasks.
  • Enables Celery mingle in the configuration to be able to handle revoked tasks between workers and worker clock synchronization.
  • adds some additional exception handling when queueing tasks.
  • adds some minor UI enhancements.

Applicable issues

Additional information

Checklist

  • All tests were successful.
  • Unit tests added.
  • Documentation updated.

@jleaniz jleaniz self-assigned this Sep 30, 2024
@jleaniz jleaniz requested a review from aarontp September 30, 2024 21:48
@jleaniz jleaniz marked this pull request as ready for review September 30, 2024 21:48
Copy link
Member

@aarontp aarontp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a couple comments, but as discussed I can potentially work on these in a separate PR.

turbinia/task_manager.py Outdated Show resolved Hide resolved
turbinia/task_manager.py Show resolved Hide resolved
turbinia/workers/__init__.py Show resolved Hide resolved
@aarontp
Copy link
Member

aarontp commented Oct 1, 2024

LGTM

@aarontp aarontp merged commit 37889ef into google:master Oct 1, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: Web UI large request completion percentage incorrect
2 participants