mirror of
https://github.com/whyour/qinglong.git
synced 2025-11-13 11:06:07 +08:00
* Initial plan * Fix race condition causing scheduled tasks not to run Added synchronization to ensure gRPC worker is ready before HTTP worker starts. This prevents the race condition where autosave_crontab() tries to register cron jobs before the gRPC server is ready to accept them. Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> * Add timeout protection for gRPC worker initialization Added 30-second timeout to prevent system hang if gRPC worker fails to start. This provides better error handling and prevents indefinite waiting. Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> * Refactor worker ready logic and improve restart handling - Extracted waitForWorkerReady() method for better code reusability - Improved worker restart logic to wait for gRPC worker readiness - This addresses code review feedback for better maintainability Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> * Improve logging accuracy for worker restarts - Fixed log messages to accurately reflect worker state - Added proper logging after gRPC worker is confirmed ready - Improved HTTP worker restart logging with PID - Addresses code review feedback for better clarity Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> * Revert unnecessary pnpm-lock.yaml changes The pnpm-lock.yaml was unintentionally updated when installing dependencies for testing. No package dependencies were actually changed - only existing code was modified in back/app.ts. Reverting to original state. Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> * Re-register cron jobs when gRPC worker restarts When the gRPC worker restarts, the scheduled tasks need to be re-added to the new gRPC server instance. This fix: 1. Tracks the HTTP worker reference in the master process 2. Sends a 'reregister-crons' message to the HTTP worker after gRPC restarts 3. HTTP worker calls autosave_crontab() to re-register all cron jobs with the new gRPC server This ensures scheduled tasks continue to work after a gRPC worker restart. Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| api | ||
| config | ||
| data | ||
| interface | ||
| loaders | ||
| middlewares | ||
| protos | ||
| schedule | ||
| services | ||
| shared | ||
| types | ||
| validation | ||
| app.ts | ||
| token.ts | ||
| tsconfig.json | ||