qinglong/back/shared
Copilot 03c7031a3c
Fix task duplication: add single/multi-instance support with UI configuration and stop all running instances (#2837)
* Initial plan

* Stop running tasks before starting new scheduled instance

Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>

* Add multi-instance support and fix stop to kill all running instances

- Add allow_multiple_instances field to Crontab model (default: 0 for single instance)
- Add validation for new field in commonCronSchema
- Add getAllPids and killAllTasks utility functions
- Update stop method to kill ALL running instances of a task
- Update runCron to respect allow_multiple_instances config
- Backward compatible: defaults to single instance mode

Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>

* Add UI support for allow_multiple_instances configuration

- Add allow_multiple_instances field to ICrontab interface
- Add instance mode selector in task creation/edit modal
- Add translations for instance mode in Chinese and English
- Default to single instance mode for backward compatibility

Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>

* Add allow_multiple_instances column migration and optimize db.ts

- Add allow_multiple_instances column to Crontabs table migration
- Refactor migration code to use data-driven approach
- Replace 11 individual try-catch blocks with single loop
- Improve code maintainability and readability

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>
2025-11-19 00:10:27 +08:00
..
interface.ts 定时服务区分系统、订阅、脚本任务 2024-08-23 23:06:50 +08:00
logStreamManager.ts Optimize log file writes using stream pooling (#2835) 2025-11-16 21:11:10 +08:00
pLimit.ts 修改服务启动逻辑 2025-05-07 09:30:00 +08:00
runCron.ts Fix task duplication: add single/multi-instance support with UI configuration and stop all running instances (#2837) 2025-11-19 00:10:27 +08:00
store.ts 修改认证信息存储方式,避免认证信息异常 2024-12-30 14:23:04 +08:00
utils.ts 修复创建脚本可能失败 2025-05-20 01:00:08 +08:00