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

Process Manager #29

Open
15 tasks
SpraxDev opened this issue Oct 17, 2021 · 0 comments
Open
15 tasks

Process Manager #29

SpraxDev opened this issue Oct 17, 2021 · 0 comments

Comments

@SpraxDev
Copy link
Member

SpraxDev commented Oct 17, 2021

A critical part on how Apollo is going to operate - A lot of functionality is run outside of Apollo's process.

For that, the Process Manager should expose functionality to queue tasks, give them priorities and resources, etc.

  • Processes can be linked to a user
    • Users can see their past and running processes
      • Including their output
  • Processes can be marked as internal and are only shown to admins (Intended for quick, internal tasks like thumbnail extraction)
  • Process output is logged to a file
    • Automatically deleted after n days
    • Can be marked as admin-only so users don't get to see the log output
  • Exposes an API to provide a process's progress for others to view/display it
  • Processes can be cancelled by admins/users
    • Processes can be marked as user-read-only to prevent users from canceling it
  • Processes can be marked as CPU, memory or storage intensive
    • This should help scheduling/delaying processes to not run too many CPU intensive processes
  • Processes can be provided with an estimate of additionally required peak storage consumption
  • Processes can be given a priority
    • e.g. live video transcoding for streaming should be given a higher priority while being configured to not be too resource hungry
      • or functionality required by the frontend
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Todo
Development

No branches or pull requests

1 participant