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

Feature request: Suspend and resume scheduling new sealing tasks #4602

Closed
karalabe opened this issue Oct 26, 2020 · 3 comments
Closed

Feature request: Suspend and resume scheduling new sealing tasks #4602

karalabe opened this issue Oct 26, 2020 · 3 comments
Assignees

Comments

@karalabe
Copy link
Contributor

Currently the miner keeps crunching through available tasks, and the moment resources free up due to some task completing, another takes its place. This makes it a bit hard to gracefully shut down the worker/miner without losing progress (there's always that one PC in 5h) and it also makes it a bit hard to diagnose leaks (e.g. I'm certain there's a GPU RAM leak, but it's hard to pinpoint because there's always a new task scheduled). Last but not least, I almost always end up with "bad file descriptors" if I pull te run from underneath a PC2 and need to go back all the way to PC1 to regenerate the layers.

Wondering if it would be possible to support suspending the scheduling of new tasks, without interrupting currently running ones (and of course resuming the whole thing).

@karalabe
Copy link
Contributor Author

Alternatively, would be sweet if I could change the tasks allowed for a worker dynamically without needing to restart the worker. That way I could turn certain tasks off and then back on later.

@magik6k
Copy link
Contributor

magik6k commented Oct 26, 2020

This will be very easy to implement after we land #3618, where we can just mark the worker as 'disabled'

@rjan90
Copy link
Contributor

rjan90 commented Aug 8, 2022

Closing this issue since these features are implemented.

You can enable/disable tasks with: lotus-woker set

lotus-worker set -h
NAME:
   lotus-worker set - Manage worker settings

USAGE:
   lotus-worker set [command options] [arguments...]

OPTIONS:
   --enabled  enable/disable new task processing (default: true)

And you can change tasks that are allowed dynamically with: lotus-worker tasks

lotus-worker tasks
NAME:
   lotus-worker tasks - Manage task processing

USAGE:
   lotus-worker tasks command [command options] [arguments...]

COMMANDS:
   enable   Enable a task type
   disable  Disable a task type
   help, h  Shows a list of commands or help for one command

OPTIONS:
   --help, -h  show help (default: false)

@rjan90 rjan90 closed this as completed Aug 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants