当前位置:网站首页>Comment faire les tâches de synchronisation des noeuds

Comment faire les tâches de synchronisation des noeuds

2021-10-22 10:57:26 Believe Yourself

Votre adresse originale : NodeTâches programmées

Contexte

Nous sommes actuellement confrontés à un tel besoin , Chaque utilisateur peut personnaliser la poussée programmée , La configuration temporelle des tâches programmées est configurée par l'utilisateur lui - même , Modifier à tout moment , Au lieu d'une tâche programmée par le serveur .

Si le cycle de tâche programmé est connu ,AlorsLinux Crontab Une tâche programmée peut être réalisée .Innode La Chine a également des programmes relativement matures . Voici ce que j'ai appris. Node Présentation du schéma des tâches programmées .

eggFourni par le cadreschdulerTâches programmées

egg Il appartient à Ali. Node Cadre d'application au niveau de l'entreprise , Il fournit un mécanisme pour permettre aux développeurs d'écrire gracieusement des tâches programmées ,Voir la documentation officielle pour plus de détails:https://eggjs.org/zh-cn/basic... , L'utilisation spécifique n'est pas détaillée ici. , Juste une brève description de son utilisation de configuration .

1. Tâche de synchronisation statique , C'est - à - dire la période de temps , Écrire La logique de traitement morte .

2. Configurer dynamiquement les tâches programmées , C'est un peu plus flexible. , Les développeurs peuvent contrôler les cycles de tâches programmés à travers les profils .

3. Déclenchement Manuel des tâches programmées par Code , Nous pouvons déterminer si une tâche programmée est déclenchée en fonction d'une certaine logique .

Voir les trois points ci - dessus ,egg La tâche de synchronisation fournie ne peut pas répondre à la demande de l'utilisateur de configurer la période de synchronisation par lui - même , Donc vous ne pouvez trouver que d'autres solutions , Nous avons trouvé node-schedule La Bibliothèque de .

node-schedule

J'ai regardé. node-schuduleDocuments https://www.npmjs.com/package... Après, Son utilisation est la suivante: :


const schedule = require('node-schedule');

const job = schedule.scheduleJob('42 * * * *', function(){
  console.log('The answer to life, the universe, and everything!');
});

C'est vrai., Il prend en charge les cycles de synchronisation personnalisés ,Pour répondre à nos besoins, Peut être notre choix ,Nice!

Continuer à explorer les articles d'autres développeurs ,J'en ai trouvé un.node-schedule Dossiers de questions connexes , Bref, le minuteur a été exécuté à l'heure prévue. 2Une fois, Pour plus de détails, voir le texte original. :https://cnodejs.org/topic/5b5... . C'est une question de faible probabilité , On n'a pas vérifié. , Parce que nos besoins , Le minuteur est exécuté deux fois , Ça n'a aucun effet sur nos résultats. , Ce n'est donc pas un obstacle à son utilisation. , Les étudiants intéressés peuvent tester bug.

À la fin

Enfin, voici un résumé de notre propre solution de tâche de calendrier de projet. , Les étudiants qui ne sont pas intéressés peuvent sauter .

C'est ce qu'on fait. eggCadre, Donc finalement, notre solution est agent Ajouté au processus node-schduleLe minuteur de, Les minuteurs de l'utilisateur seront synchronisés agentMise en œuvre en cours, Actuellement, nous n'avons pas beaucoup d'utilisateurs , Je n'ai pensé qu'à cette solution pour le moment. , L'arrière - plan de déploiement peut être distribué après un démarrage ultérieur , Ça va être un problème. , Si la quantité est importante, l'exécution d'un seul processus peut également être un problème. ,Etegg En soi, il n'est pas recommandé agent Faire trop de choses liées à l'entreprise dans le processus . Et plus important encore, agent Est un processus auxiliaire ,Quelqueswork Le travail public agentTerminé dans,agent Une erreur non saisie ne quitte pas le redémarrage , Par conséquent, le traitement tolérant les défauts doit être effectué ,Et fais - le bien..

Si vous avez une meilleure solution,Bienvenue Laissez un message Dis - nous..

版权声明
本文为[Believe Yourself]所创,转载请带上原文链接,感谢
https://chowdera.com/2021/10/20211022104222887C.html

随机推荐