Conversation
lovasoa
marked this pull request as draft
September 28, 2026 01:23
lovasoa
marked this pull request as ready for review
September 28, 2026 01:44
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.
SQLPage currently cannot run directly under the Windows Service Control Manager, and systemd considers it started before database initialization or migrations finish. This adds native Windows service mode (
--service NAME --web-root <absolute path>) and systemd readiness/stopping notifications, with one graceful shutdown path for service controls and Unix signals.STOPPED.Type=notify, bounded startup/stop timeouts, journal logging, and restart-on-failure. Add installation and operation guides for both platforms.Validation:
cargo fmt --allcargo clippy --all-targets --all-features -- -D warningscargo test: 329 local tests passed, including real-process readiness, in-flight request draining for SIGTERM/SIGINT/SIGQUIT, bind failure, termination during database startup, and logging queue behavior.systemd-analyze verifyon a temporary copy of the unit withExecStartpointing to the locally built binary.e7059079: Windows passed 331 Rust tests plus a real SCM integration test covering failed startup, readiness, active-request draining, clean stop, log flushing, and restart. Linux linting, all six database test configurations, and Playwright passed.Impact measured on Linux x86_64, Rust 1.98.1, the shipping
superoptimizedprofile (fat LTO), static ODBC, and identical frontend assets:sd-notify(0.19 seconds to compile in the initial measurement), with no native libsystemd dependency. Tokio signals were already enabled transitively. Windows addswindows-serviceand Event Log API features in the existingwindows-sysdependency.Windows release size, compile-time deltas, and throughput have not been measured. Its background logger adds one thread, a bounded queue, and formatting/enqueue work on producers; native Event Log calls run on the writer thread. It can drop log records under sustained overload, as documented.