aboutsummaryrefslogtreecommitdiff
path: root/lib/compilation-queue.ts
Commit message (Collapse)AuthorAge
* Migrate to eslint-plugin-n; as ...-node is deprecated (#6387)gh-11484Matt Godbolt2024-04-23
| | | Replaces #6310
* Support abandoned queued compilations (#5278)gh-8398Matt Godbolt2023-08-07
| | | | | | | | | | | | | | | | | After some time we know either the client or CloudFront will give up on pending compilations. As such, if we continue to process compilations after the client's timed out we're just clogging up the compilation queue with pointless work. As such, this change now supports the notion of "stale" work which will be abandoned once it's made it to the front of the queue. Only compiles coming from the user will be abandoned, so discovery and health checks are unaffected. Hopefully this will mitigate the number of nodes marked unhealthy due to being overloaded: work they were doing was "pointless" anyway, and them being killed by going unhealthy is equivalent to abandoning all the work in flight anyway, but this means there's a fighting chance the node will recover quickly enough to return a "healthy" status.
* Transition to ECMAScript Modules (#4780)gh-6536Mats Jun Larsen2023-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes the Compiler Explorer app, and all the tooling ESM compatible. Things that have been done: 1. The package.json has `type: module` now 2. All relative imports have a .js ending 3. All directory imports are now directory/index.js to comply with ESM standards 4. Dependency node-graceful is now imported into tree, because the package is broken under esm 5. Dependency p-queue has been bumped to 7.x with ESM support 6. Dependency profanities has been bumped to 3.x with ESM support 7. Webpack config is now both ESM and CommonJS compatible 8. Non-ESM compatible imports have been rewritten 9. ESLint configuration has been tweaked to not fail on .js imports 10. Mocha is now hacked together and ran with ts-node-esm 11. Webpack is now hacked together and ran with ts-node-esm 12. Webpack config is now ESM compatible, so that it can be used in the dev server 13. Cypress code still runs commonjs, and has been excluded from the tsconfig 14. All sinon mock tests have been commented out, because sinon module mocks do not work with ESModules (because ESModules are immutable) A lot of tests are now giving warnings/errors to stdout, yet still pass. Docenizer codegenerator scripts have been updated, but I did not re-run them, and instead just changed their code. --------- Co-authored-by: Matt Godbolt <matt@godbolt.org>
* Tsify compilation-env (#4636)gh-5967Jeremy Rifkin2023-01-25
|
* Moving compilation queue to ts (#4440)gh-5368Matt Godbolt2022-12-16
* Moving compilation queue to ts