安排抓取工作 - 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
我需要在太平洋标准时间中午 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