qinglong/back/loaders
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
..
app.ts 修改服务启动逻辑 2025-05-07 09:30:00 +08:00
bootAfter.ts 定时任务支持 @once 和 @boot 任务 2025-02-20 02:18:59 +08:00
db.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
depInjector.ts 添加订阅管理前端 2022-05-08 09:41:06 +08:00
deps.ts 移除用户判断 2025-11-15 17:02:00 +08:00
express.ts 修复 jwt 认证 2025-11-02 22:28:58 +08:00
initData.ts 修复模块注入 2025-10-26 22:32:03 +08:00
initFile.ts 修复创建脚本可能失败 2025-05-20 01:00:08 +08:00
initTask.ts 修复未初始化时区设置 2025-02-28 00:56:40 +08:00
logger.ts 修改服务启动逻辑 2025-05-07 09:30:00 +08:00
server.ts 修改系统重启逻辑 2024-03-14 17:37:52 +08:00
sock.ts 修改认证信息存储方式,避免认证信息异常 2024-12-30 14:23:04 +08:00