feat: Add max execution time per scan to prevent runaway scans #10#26
Open
bigjoe-io wants to merge 1 commit intoMDTechLabs:mainfrom
Open
feat: Add max execution time per scan to prevent runaway scans #10#26bigjoe-io wants to merge 1 commit intoMDTechLabs:mainfrom
bigjoe-io wants to merge 1 commit intoMDTechLabs:mainfrom
Conversation
- Implement ScanService with Promise.race timeout mechanism - Add WorkerScanService for worker thread isolation - Create POST /scan endpoint with timeout protection - Add configurable timeout via SCAN_MAX_EXECUTION_TIME_MS env var - Implement graceful timeout error handling with clear messages - Add unit tests for timeout scenarios - Include comprehensive documentation Impact: Prevents runaway scans from degrading system performance Done when: Scans exceeding limit fail gracefully with clear error
Collaborator
|
Hello @bigjoefilms , kindly resolve the conflict from your branch, you may need to pull from main |
mijinummi
approved these changes
Jan 23, 2026
mijinummi
requested changes
Jan 23, 2026
Collaborator
mijinummi
left a comment
There was a problem hiding this comment.
Please resolve the conflict
Collaborator
|
@bigjoefilms ??? |
Collaborator
|
please kindly try and resolve the conflict |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #10
Impact
Prevents runaway scans from degrading system performance. Some contracts may hang analyzers, so this adds timeout protection.
Changes
ScanServicewithPromise.racetimeout mechanismWorkerScanServicefor worker thread isolation (optional)POST /scanendpoint with timeout protectionSCAN_MAX_EXECUTION_TIME_MSenv varImplementation Details
Promise.race()for lightweight timeout enforcementTesting
scan.service.spec.tsDone Criteria
✅ Scans exceeding limit fail gracefully with clear error
✅ Uses Node.js process timeout (Promise.race)
✅ Provides worker constraints option
✅ Configurable via environment variables