简体   繁体   English

如何使用最新版本的 hapi.js 注册 hapi cron

[英]How to register hapi cron with the latest version of hapi.js

I have my server registered with hapijs.我的服务器已向 hapijs 注册。

Here is my index.js这是我的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
    })    
  })
})

I have to use hapi-cron and need to call an api with it for every minute.我必须使用hapi-cron并且需要每分钟调用一个 api。 So I need to know where I can use below register option in the above code which is working in the 16th hapi version.所以我需要知道在第 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')
          }
        }]
      }  
    }

The server.register() takes an array of plugins. server.register()接受一个插件数组。 You can register the hapi-cron plugin the same way you have registered hapi-raven .您可以像注册hapi-raven一样注册hapi-cron插件。

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
            })
        })
})

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM