询问解决方案。没有国内的云主机,也不想自己写一个 server。 脚本用的是 typescript,关键代码大概这样:
const writeFile = util.promisify(fs.writeFile) await writeFile(`${repoPath}/${name}.html`, article) await exec(`cd ${repoPath}; git pull; git add --all; git commit -m "auto commit" && git push origin master`)
1 vanillaxxx 2019-11-21 22:23:36 +08:00 via iPhone 降低 push 频率咋样? |
![]() | 2 JiShuTui 2019-11-21 22:26:02 +08:00 加上锁,上一次没结束,这一次就不执行。 另外,你只是自己一个人用吧,每 5 分 push 一次也行啊 |
4 xzc2677 OP @JiShuTui 不是一个人用。加锁是一个备选方案。我在想有没有代替 git 的方案?或者有么有这类的服务,类似于 server 酱。 |
![]() | 5 xxx749 2019-11-21 22:33:57 +08:00 via Android 加个任务栈,只在 push 结束后 push 第二个任务,爬虫就只管往栈里推就好了吧 |
![]() | 7 opengps 2019-11-21 22:43:02 +08:00 via Android 用线程池来提交,同时控制好不要让整个线程池都工作起来 |
![]() | 8 CEBBCAT 2019-11-21 23:16:13 +08:00 先分析问题本质:有一个频繁更新的文件夹,里面有很多 html 文件,需要使用 Coding 的 Page 服务发布出来,似乎 Coding 只提供 git,要是使用 git push 推送的话容易因为上一次 push 未完成影响这一次 push 整个信号量,有 html 生成就给计数器+1,另一边每次 git push 就给计数器-1,push 前记得检查有没有待 git add 的文件 |
![]() | 9 CEBBCAT 2019-11-21 23:17:30 +08:00 两边各干各的,效率也高 |