Existe algum cron como uma biblioteca que me permita agendar alguma função para ser executada em determinado horário (15:30, por exemplo, não x horas a partir de agora etc)? Se não houver esse tipo de biblioteca, como isso deve ser implementado? Devo apenas definir que o retorno de chamada seja chamado a cada segundo e verificar a hora e iniciar os trabalhos agendados para a hora ou o quê?
scheduling
node.js
JtR
fonte
fonte
Respostas:
node-cron faz exatamente o que eu descrevi
fonte
app.js
. Emsails.js
I fazê-lo embootstrap
agenda
adicionar suporte Waterline aqui: github.com/mikermcneil/agenda (literalmente apenas começou though- deve ter algum progresso utilizável na próxima semana)agendamento de nó Um agendador de tarefas do tipo cron e não cron para o Node.
fonte
Note that node-schedule is designed for in-process scheduling, i.e. scheduled jobs will only fire as long as your script is running, and the schedule will disappear when execution completes.
agenda é um agendamento de trabalho leve para o nó. Isso irá ajudá-lo.
fonte
agenda
um comportamento inconsistente e não recomendaria usá-lo. Verifique as questões em aberto e os PRs para fazer sua própria ligação.O later.js é uma biblioteca de "agendador" JavaScript muito boa. Pode ser executado no Node.js ou em um navegador da web.
fonte
Estou usando o kue: https://github.com/learnboost/kue . É bem legal.
Os recursos oficiais e meus comentários:
Editar:
fonte
O node-crontab permite editar tarefas cron do sistema a partir do node.js. O uso desta biblioteca permitirá que você execute programas mesmo após o término do processo principal. Disclaimer: Eu sou o desenvolvedor.
fonte
Você pode usar o timexe
É simples de usar, leve, não possui dependências, possui uma sintaxe aprimorada em relação ao cron, com uma resolução em milissegundos e funciona no navegador.
Instalar:
Usar:
(Eu sou o autor)
fonte
Eu sou o autor de node-runnr . Ele tem uma abordagem muito simples para criar emprego. Também é muito fácil e claro declarar tempo e intervalo. Por exemplo, para executar um trabalho a cada 10 minutos e 20 segundos,
Para fazer um trabalho diariamente às 10h e 15h,
É simples assim. Para mais detalhes: https://github.com/Saquib764/node-runnr
fonte
Todas essas respostas e ninguém apontaram para o pacote NPM mais popular .. cron
https://www.npmjs.com/package/cron
fonte
Tanto o node-schedule quanto o node-cron que podemos usar para implementar agendadores baseados em cron.
NOTA : para gerar expressões cron, você pode usar este cron_maker
fonte
Isso não será adequado para todos, mas se o seu aplicativo já estiver configurado para receber comandos por meio de um soquete, você poderá usar o netcat para emitir comandos via cron corretamente.
fonte