Estou procurando um agendamento de tarefas do nó que permita agendar várias tarefas em intervalos diferentes. Por exemplo,
- chame a função A a cada 30 segundos
- chame a função B a cada 60 segundos
- chame a função C a cada 7 dias
Eu também quero poder iniciar e parar o processo.
Até agora, eu olhei para:
mais tarde - a sintaxe me confunde, também aparentemente você não pode agendar tarefas além de um mês
agenda - parece a mais promissora, no entanto, estou confuso sobre a funcionalidade do banco de dados
plano de tempo - simples demais, não é possível iniciar e parar
Acho a sintaxe do último confusa.
node.js
cron
scheduled-tasks
user379468
fonte
fonte
Respostas:
Eu recomendaria
node-cron
. Permite executar tarefas usando padrões Cron, por exemploMas também horários mais complexos, por exemplo
Código de exemplo : executando o trabalho a cada 10 minutos:
Você pode encontrar mais exemplos no wiki node-cron
Mais informações sobre a configuração do cron podem ser encontradas no wiki do cron
Eu tenho usado essa biblioteca em muitos projetos e ele faz o trabalho. Espero que ajude.
fonte
Eu usei node-cron e agenda .
O node-cron é uma biblioteca muito simples, que fornece APIs muito básicas e fáceis de entender, como o crontab. Ele não precisa de nenhuma configuração e simplesmente funciona.
agenda é muito poderosa e adequada para serviços muito mais complexos. Pense no ifttt , você precisa executar milhões de tarefas. agenda seria a melhor escolha.
Nota: Você precisa do Mongodb para usar a Agenda
fonte
Eu acho que o melhor ranking é
e a amostra de agendamento de nó está abaixo:
Talvez você possa encontrar a resposta nos módulos do nó .
fonte
Eu escrevi um módulo de nó que fornece um wrapper em torno de setInterval usando durações de momento fornecendo uma interface declarativa:
https://www.npmjs.com/package/every-moment
https://github.com/raygerrard/every-moment
fonte
node-cron
como resposta @ Tom. e tem uma boa sintaxe semelhante à sua.reel().call(() => console.log('hello !!')).everyMinute().run()
github.com/shakee93/node-reelpadrão nodeJS
https://nodejs.org/api/timers.html
fonte
Eu escrevi um pequeno módulo para fazer exatamente isso, chamado timexe :
Instalar:
usar:
você pode obter a funcionalidade iniciar / parar removendo / adicionando novamente a entrada diretamente na matriz de tarefas timexe. Mas não é uma função expressa.
fonte