我正在尝试收听对我不拥有的公共 GitHub 存储库的新提交,并希望将新提交事件推送到 GCP Pub/Sub 以便函数可以进一步使用它。我认识到 GitHub 本身向给定存储库中的不同事件类型公开 RSS 提要,并且对我们如何有效地实时处理更改感到好奇。
这是我想到的两个类似的工作流程:
定期安排一项工作以提取 RSS 提要,根据我们已经看到和处理的内容检查新的更改,并将新鲜的内容加入队列。
分叉存储库,并与Cloud Repositories集成,这样我们就可以将更改通知排队。然后我们可以设置一个Fork Sync操作来定期同步分叉的 repo 本身(例如,每 2-5 分钟)。
我担心的是,我们经常在这两种方法中安排工作,如果我们进入完全没有变化的时期,这可能是不必要的并且可能会很昂贵。是否有更有效的方法可以触发处理而无需不断轮询更改?