Search: #produce_cronexp

  1. Sub-Store 更新后端 2.16.60 支持使用环境变量 SUB_STORE_PRODUCE_CRON 在后台定时处理订阅耽搁了很久的功能. 再也不怕检测脚本耗时太长了.此为 Node.js 环境. App 版 参考这个格式为 0 */2 * * *,sub,a;0 */3 * * *,col,b 每 2 小时处理一次单条订阅 a, 每 3 小时处理一次组合订阅 b大致逻辑:定时处理订阅, 进行脚本缓存在缓存有效期内, Surge 等 App 拉取订阅时就不会超时了 关于缓存时长拉取 Sub-Store 订阅时, 会自动拉取远程订阅远程订阅缓存是 1 小时, 缓存的唯一 key 为 url+ user agent. 可通过前端的刷新按钮刷新缓存. 或使用参数 noCache 来禁用缓存. 例: 内部配置订阅链接时使用

    Sub-Store 更新

    后端 2.16.60

    支持使用环境变量 SUB_STORE_PRODUCE_CRON 在后台定时处理订阅

    耽搁了很久的功能. 再也不怕检测脚本耗时太长了.

    此为 Node.js 环境. App 版 参考这个

    格式为 0 */2 * * *,sub,a;0 */3 * * *,col,b
    每 2 小时处理一次单条订阅 a, 每 3 小时处理一次组合订阅 b

    大致逻辑:

    定时处理订阅, 进行脚本缓存
    在缓存有效期内, Surge 等 App 拉取订阅时就不会超时了

    关于缓存时长

    拉取 Sub-Store 订阅时, 会自动拉取远程订阅

    远程订阅缓存是 1 小时, 缓存的唯一 key 为 url+ user agent. 可通过前端的刷新按钮刷新缓存. 或使用参数 noCache 来禁用缓存. 例: 内部配置订阅链接时使用 http://a.com#noCache, 外部使用 sub-store 链接时使用 https://sub.store/download/1?noCache=true

    当使用相关脚本时, 若在对应的脚本中使用参数( 别忘了这个, 一般为 cache, 值设为 true 即可)开启缓存, 可设置持久化缓存 sub-store-csr-expiration-time 的值来自定义默认缓存时长, 默认为 172800000 (48 * 3600 * 1000, 即 48 小时)

    Loon 可在插件中设置

    其他平台同理, 持久化缓存数据在 JSON 里

    当配合脚本使用时, 可以在脚本的前面添加一个脚本操作, 实现保留 1 小时的缓存

    async function operator() {
        scriptResourceCache._cleanup(undefined, 1 * 3600 * 1000);
    }



    Sub-Store 合集 频道资源合集 恰饭推荐 群组

    #SubStore #更新记录 #changlog #updates #定时 #cron #produce_cronexp #SUB_STORE_PRODUCE_CRON

    • ❤️4
  2. 定时处理订阅, 避免 App 内拉取超时大致逻辑:定时处理订阅, 进行脚本缓存在缓存有效期内, Surge 等 App 拉取订阅时就不会超时了此为 App 版的逻辑. 其他平台使用环境变量 SUB_STORE_PRODUCE_CRON, 格式为 0 */2 * * *,sub,a;0 */3 * * *,col,b 嫌麻烦的话也可以直接使用 Gist 同步配置. 因为这是定时任务, 可以在后台长时间执行. 代理 App 里直接使用 Gist 即可▎使用 Surge 更新到最新模块后, 可在模块参数设置中设置. 同时别忘了更新外部资源其他 App 原理一致, 不要问怎么添加, 自己看对应 App 的语法添加一个定时任务:timeout: 脚本超时时长, 按需调整sub: 自定义需定时处理的单条订阅名, 多个用 , 连接col: 自定义需定时处理的组合订阅名, 多个用 , 连接注意: 是 名称 name 不是 显示名称 displayName 名如果名称需要 encodeURIComponent 编码, 请编码后再用 , 连接顺序: 并发执行单条订阅, 然后并发执行组合订阅Produce=type=cron,cronexp="50 */6 * * *",timeout=120,script-path=

    定时处理订阅, 避免 App 内拉取超时

    大致逻辑:

    定时处理订阅, 进行脚本缓存
    在缓存有效期内, Surge 等 App 拉取订阅时就不会超时了
    此为 App 版的逻辑. 其他平台使用环境变量 SUB_STORE_PRODUCE_CRON, 格式为 0 */2 * * *,sub,a;0 */3 * * *,col,b

    嫌麻烦的话也可以直接使用 Gist 同步配置. 因为这是定时任务, 可以在后台长时间执行. 代理 App 里直接使用 Gist 即可

    ▎使用

    Surge 更新到最新模块后, 可在模块参数设置中设置. 同时别忘了更新外部资源

    其他 App 原理一致, 不要问怎么添加, 自己看对应 App 的语法

    添加一个定时任务:

    timeout: 脚本超时时长, 按需调整
    sub: 自定义需定时处理的单条订阅名, 多个用 , 连接
    col: 自定义需定时处理的组合订阅名, 多个用 , 连接
    注意: 是 名称 name 不是 显示名称 displayName
    如果名称需要 encodeURIComponent 编码, 请编码后再用 , 连接
    顺序: 并发执行单条订阅, 然后并发执行组合订阅

    Produce=type=cron,cronexp="50 */6 * * *",timeout=120,script-path=https://github.com/sub-store-org/Sub-Store/releases/latest/download/cron-sync-artifacts.min.js,argument="sub=sub1,sub2&col=col1,col2"


    关于缓存时长

    拉取 Sub-Store 订阅时, 会自动拉取远程订阅

    远程订阅缓存是 1 小时, 缓存的唯一 key 为 url+ user agent. 可通过前端的刷新按钮刷新缓存. 或使用参数 noCache 来禁用缓存. 例: 内部配置订阅链接时使用 http://a.com#noCache, 外部使用 sub-store 链接时使用 https://sub.store/download/1?noCache=true

    当使用相关脚本时, 若在对应的脚本中使用参数( 别忘了这个, 一般为 cache, 值设为 true 即可)开启缓存, 可设置持久化缓存 sub-store-csr-expiration-time 的值来自定义默认缓存时长, 默认为 172800000 (48 * 3600 * 1000, 即 48 小时)

    Loon 可在插件中设置

    其他平台同理, 持久化缓存数据在 JSON 里

    当配合脚本使用时, 可以在脚本的前面添加一个脚本操作, 实现保留 1 小时的缓存

    async function operator() {
        scriptResourceCache._cleanup(undefined, 1 * 3600 * 1000);
    }



    Sub-Store 合集 频道资源合集 恰饭推荐 群组

    #SubStore #更新记录 #changlog #updates #定时 #cron #produce_cronexp

    • ❤️7
    • 👍2
    • 😁1