Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dúvidas de uso dos Jobs #19

Closed
kennedyrs opened this issue Mar 14, 2020 · 5 comments
Closed

Dúvidas de uso dos Jobs #19

kennedyrs opened this issue Mar 14, 2020 · 5 comments

Comments

@kennedyrs
Copy link

Eu tenho uma dúvida quanto ao Bull, dentro do método handle, como eu digo que algo não deu certo?

Por exemplo, dependendo da resposta de uma API, quero que a fila tente executar a ação novamente mais tarde.

async handle(job) {
    const { data } = job; 

   ...

    return data;
  }

Seria só lançar uma Exception?

throw new Error('Deu erro...')
@HigoRibeiro
Copy link
Contributor

Fala @kennedyrs !
Isso mesmo, lança exceção que é a maneira de dizer que o serviço não deu certo!

@kennedyrs
Copy link
Author

Outra dúvida, qual seria a melhor estratégia para acionar um job assim que a aplicação iniciar?

Bull.add(Job.key, { delay: 6000, attempts: 3, repeat: { cron: '0 */6 * * *' } })

@wemersonrv
Copy link

wemersonrv commented Aug 22, 2020

Cria um ServiceProvider com adonis make:provider SeuProvider e roda chame ele no método *boot do provider.

Ah, tem que registrar o provider no array providers do start/app.js

const path = require('path')

const providers = [
  ...
  '@rocketseat/adonis-bull/providers/Bull',
  path.join(__dirname, '..', 'providers', 'SeuProvider'),
]

@jpedroschmitz
Copy link
Contributor

Hey @kennedyrs, this issue was closed because it was not following the guidelines described here.

While contributing or interacting in any way in this project, refrain from using any language other than English.

@RicardoPBarbosa
Copy link

Cria um ServiceProvider com adonis make:provider SeuProvider e roda chame ele no método *boot do provider.

Ah, tem que registrar o provider no array providers do start/app.js

const path = require('path')

const providers = [
  ...
  '@rocketseat/adonis-bull/providers/Bull',
  path.join(__dirname, '..', 'providers', 'SeuProvider'),
]

Estou tentanto fazer isto mas no Provider em que função corro os Bull.add()? Tentei em register, boot mas não estou conseguindo importar o Bull do tipo const Bull = this.app.use('Rocketseat/Bull'); dá sempre Bull.add is not a function.

Exemplo:

boot() {
    const Bull = this.app.use('Rocketseat/Bull');
    const Job = this.app.use('App/Jobs/Job');
    Bull.add(Job.key, { attempts: 3, repeat: { cron: '0 0 * * *' } });
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants