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: resumable jobs #17

Open
bbuchalter opened this issue Jan 6, 2024 · 3 comments
Open

Feature request: resumable jobs #17

bbuchalter opened this issue Jan 6, 2024 · 3 comments
Labels
enhancement New feature or request good first issue Good for newcomers
Milestone

Comments

@bbuchalter
Copy link

As a user,
I'd like to be able to stop a cracking job and restart it later,
So I can not lose progress.

@mufeedvh
Copy link
Owner

mufeedvh commented Jan 6, 2024

Hey @bbuchalter, thank you for the feature suggestion. This is a much-needed feature, will implement this in the next release! 🙌

@mufeedvh mufeedvh added the enhancement New feature or request label Jan 6, 2024
@mufeedvh mufeedvh added this to the v3.0.0 milestone Jan 6, 2024
@mufeedvh mufeedvh added the good first issue Good for newcomers label Jan 9, 2024
@Pommaq
Copy link

Pommaq commented Jan 31, 2024

This can probably be done by expanding the current Producer interface to have "serialize" and "deserialize" functions (But I think it would be better to add a 2nd trait to avoid bloating). Then catching upon ctrl_c/other signals we serialize the producer to disk. Finally just add a paremeter/separate mode to resume operations or something.

I imagine the abort logic itself can be implemented using tools from Tokio.
Select! macro, signal handling, channels, a small wrapper and a CancellationToken should be enough for this.
Then the issue would be to port pdfrip to be async however

@mufeedvh
Copy link
Owner

@Pommaq, yes serializing the state to disk seems like the optimal approach here. Leaving some relevant links for future reference during implementation:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants