-
-
Notifications
You must be signed in to change notification settings - Fork 55
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
job system and scanner job refactoring #102
Comments
I also think while I'm tackling this I might introduce a slight language change to the scan modes and how they work:
|
Closing as completed, but is is in |
There are two main areas relating to jobs and the scanner job specifically that need addressing:
Jobs are kind of stateless right now. Sure, they have access to a minimal subset of context, but are stateless with respect to the jobs own state (e.g. what task it is currently working on, how many are left, etc). This lack of state prevents me from properly implementing features like:
The current implementation of the scanner and the jobs is not overly flexible and simply won't scale down the road, as exemplified by testers with enormous libraries. It's definitely quick, but I'd rather sacrifice on a little speed for memory efficiency for those larger libraries. I think part of the issue is that for really large libraries, there are simply too many threads being spawned, degrading memory efficiency and performance.
Brainstorming / Initial Ideas
Job System
I already have the concept of a
JobWrapper
which handles the kickoff of the actual job process as well as simple things like duration and what not. I think this should be extended to also manage some sort of state for the job, which can be mutated withon_progress
callbacks, perhaps. The state, in general, needs to store the following:This needs to be MORE than just a numeric value, as it currently is.
A shutdown signal should also be added to the
JobWrapper
which listens for a signal of two kinds:The text was updated successfully, but these errors were encountered: