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

大城市里の小女人 提交于 2019-12-13 02:55:40

问题


I have my server registered with hapijs.

Here is my 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. So I need to know where I can use below register option in the above code which is working in the 16th hapi version.

{
      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')
          }
        }]
      }  
    }

回答1:


The server.register() takes an array of plugins. You can register the hapi-cron plugin the same way you have registered 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
            })
        })
})


来源:https://stackoverflow.com/questions/58182275/how-to-register-hapi-cron-with-the-latest-version-of-hapi-js

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!