如何使用hapi.js的最新版本注册hapi cron
我的服务器已在hapijs中注册。
这是我的index.js
composer((err, server) => {
if (err) throw err
server.initialize((errInit) => {
if (err) throw errInit
const register = (hapiRaven, options, next) => {
return next()
}
register.attributes = {
name: 'hapi-raven',
version: '1.0.1',
options: { }
}
server.register([ register ])
server.start(() => {
// server starts
})
})
})
我必须使用hapi-cron
,并且需要每分钟用它调用一个api。因此,我需要知道在上面的代码(在第16个hapi版本中有效)中可以在哪里使用下面的注册选项。
{
register: require('hapi-cron'),
options: {
jobs: [{
name: 'Workout Every minute',
time: '* * * * *',
timezone: 'America/Los_Angeles',
request: {
method: 'GET',
url: `/workout-reminder?type=everyMinute`,
},
callback: (res) => {
console.info('Workout Every minute')
}
}]
}
}
回答如下:server.register()
需要一系列插件。您可以按照注册hapi-cron
的相同方式注册hapi-raven
插件。
composer((err, server) => {
if (err)
throw err
server.initialize((errInit) => {
if (err)
throw errInit
const register = (hapiRaven, options, next) => {
return next()
}
register.attributes = {
name: 'hapi-raven',
version: '1.0.1',
options: {}
}
const hapiCron = {
register: require('hapi-cron'),
options: {
jobs: [{
name: 'Workout Every minute',
time: '* * * * *',
timezone: 'America/Los_Angeles',
request: {
method: 'GET',
url: `/workout-reminder?type=everyMinute`,
},
callback: (res) => {
console.info('Workout Every minute')
}
}
]
}
}
server.register([register, hapiCron])
server.start(() => {
// server starts
})
})
})