安排抓取工作 - Meteor JS

Schedule scraping job - Meteor JS

我需要在太平洋标准时间中午 12 点从某些网站抓取数据,并在我的网站上展示抓取的数据。我应该如何实施?是 server-side 还是 client-side?我应该使用 meteor-synced-cron 吗?

我想我会在没有 meteor-synced-cron 的情况下进行,而是在 client/ 进行,因为如果时间是凌晨 12 点,我会更新我的 collection 一次和所有人。这是正确的方法吗?

从服务器使用synced-cron,你会更快更快乐。如果您从客户端执行此操作,那么您必须 (a) 确保至少有一个客户端已启动并且 运行 在午夜,并且 (b) 确保它是具有适当权限的正确客户端,而不是所有客户端都在抓取所有内容。

OTOH,如果你想将一份工作分配给多个客户并让他们都合作,那就完全不同了。

/server 的任意位置添加:

SyncedCron.add({
  name: 'Daily Scraper',
  schedule: function(parser) {
    return parser.text('every 1 day'); // parser is a later.parse object.
  },
  job: function() {
    ... your scraping code here
  }
});

有关如何创建计划的详细信息,请参阅Later.js