🔗 Sub-Store
🆕 后端 2.14.319
🟢新增 定时处理订阅 功能, 避免 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
🆕 后端 2.14.319
🟢新增 定时处理订阅 功能, 避免 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