Skip to content

[pull] develop from whyour:develop - #48

Open
pull[bot] wants to merge 1599 commits into
A495500072:developfrom
whyour:develop
Open

[pull] develop from whyour:develop#48
pull[bot] wants to merge 1599 commits into
A495500072:developfrom
whyour:develop

Conversation

@pull

@pull pull Bot commented Jul 18, 2022

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull Bot added ⤵️ pull merge-conflict Resolve conflicts manually labels Jul 18, 2022
@whyour
whyour force-pushed the develop branch 3 times, most recently from 83af2ea to 049c738 Compare November 5, 2022 07:23
@whyour
whyour force-pushed the develop branch 6 times, most recently from 98d3ed6 to 3c3fce0 Compare November 15, 2022 04:14
@whyour
whyour force-pushed the develop branch 2 times, most recently from 39a1c49 to 0ab7566 Compare December 28, 2022 03:11
@whyour
whyour force-pushed the develop branch 3 times, most recently from cebc23c to dcfb721 Compare January 8, 2023 08:38
@whyour
whyour force-pushed the develop branch 2 times, most recently from 8a9b2aa to 99c047e Compare February 1, 2023 14:46
@whyour
whyour force-pushed the develop branch 2 times, most recently from 626b28d to 437a849 Compare February 12, 2023 09:09
@whyour
whyour force-pushed the develop branch 3 times, most recently from c09e9ca to 6fb39ce Compare April 8, 2023 09:07
@whyour
whyour force-pushed the develop branch 2 times, most recently from 7f6778c to a8f1d90 Compare April 11, 2023 05:58
whyour and others added 30 commits June 11, 2026 23:18
…onfiguration complexity (#3023)

* 新增对WxPusher极简推送的支持,减小用户使用成本

* 新增脚本对WxPusher极简推送的支持

* 修复通知配置的枚举定义

---------

Co-authored-by: zjiecode <zjiecode@gmail.com>
* 修复删除定时任务后 crontab.list 未同步导致订阅更新无法重新注册脚本

crontab.list 作为数据库的文件镜像,其同步 setCrontab() 此前串行在尽力而为
的 gRPC addCron/delCron 调用之后:当调度 worker 重启等导致 gRPC 短暂不可用、
addCron/delCron reject 时,setCrontab() 会被跳过,crontab.list 与数据库脱节。
而 shell/update.sh 的 gen_list_repo() 将 crontab.list 作为"已有任务"真源,
于是订阅更新误判脚本已存在、跳过新增注册(前端再也看不到这些脚本)。

将 create/update/remove/disabled/enabled/autosave_crontab 中的 gRPC 调用改为
尽力而为(try/catch + 告警日志),保证 setCrontab() 总是执行;autosave_crontab
额外将 setCrontab 提前到 addCron 之前,确保启动/调度器重启时文件总是同步,
并避免 gRPC 失败导致应用启动崩溃。

调度器内存中的任务注册与 crontab.list/系统 crontab 同步是两个相互独立的关注点:
gRPC 失败时内存调度可能在调度器重启后由 autosave_crontab 重新注册,但文件同步
不应因此被阻断。修复后既有的 crontab.list 残留会在下次重启或任意增删改时自愈。

可能与 #2422(订阅更新重复添加任务)同根因。

* 过滤 delCron 中 scheduleStacks 的 null job

nodeSchedule.scheduleJob() 对无效 cron 表达式(如 "0 * /6 * * *",
空格分开了 * /6)会返回 null,原代码原样存入 scheduleStacks 数组。
delCron 取消时对 null 调 cancel() 抛出 UNKNOWN 错误,导致 gRPC
handler 中断、HTTP 端 cronService.remove() 跳过 setCrontab(),
crontab.list 残留已删任务的记录,导致订阅更新时 gen_list_repo()
误判脚本已存在、不再重新注册。

过滤 null 并对每个 cancel 调用加 try/catch 容错。
…3026)

* Initial plan

* Fix env variable edit validation error when labels is null

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
…3048)

* ci: attach provenance and SBOM attestations to the published images

* ci: restore trailing newline at end of file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⤵️ pull merge-conflict Resolve conflicts manually

Projects

None yet

Development

Successfully merging this pull request may close these issues.