ScheduleMaster est un système de planification de tâches distribué open source. Il est construit sur la plate-forme .NET Core 3.1 et prend en charge le déploiement et le fonctionnement multi-nœuds multiplateformes.
Asp.net core3.1, entityframework core3.0, mysql5.7, quartz.net, BeyondAdmin, jQuery ...
Avant d'utiliser, veuillez préparer l'environnement requis:
Visual Studio 2019,.NET Core3.1 SDK,Mysql 5.7(可选),SQLServer(可选),PostgreSQL(可选),Centos(可选),Docker(可选).
Ce qui suit est un exemple d'utilisation de MySQL comme base de données et de le lancer dans le fichier de configuration . Pour d'autres méthodes, reportez-vous à la documentation détaillée.
Téléchargez le code source localement, puis ouvrez la solution avec VS2019 et compilez-la.
Ouvrez le fichier appsettings.json dans le répertoire racine du projet hos.schedulemaster.web, modifiez d'abord la chaîne de connexion de la base de données MySQL pour garantir l'accès normal à la base de données, puis trouvez le nœud de NodeSetting , modifiez IP à l'adresse IP que le Master déploiera (le port de maître est de 30 000 et ne doit pas être modifié pour être modifié), le refuge droit sur le projet et la sélection du projet ... pour publier le 6
Ouvrez le fichier appsettings.json dans le répertoire racine du projet hos.schedulemaster.quartzhost, modifiez d'abord la chaîne de connexion MySQL, puis trouvez le nœud NodeSetting , définissez le nom du champ IdentityName de travailleur, modifiez IP à l'adresse IP à déploier, et Port sur le projet et sélectionnez Publish pour être 30001), CLICK REGOR au dossier local. Si vous souhaitez ajouter un nouveau travailleur, configurez simplement IdentityName、IP、Port de la même manière. Après le début du travailleur, il injectera ses propres informations dans la base de données et peut être vu dans le maître.
Conseils de version rapide: utilisez PowerShell pour exécuter Script
publish.ps1sur la plate-forme Windows pour le publier rapidement dansd:/sm-publishet exécuter Scriptsh publish.shsur la plate-forme Linux pour la publier rapidement dans le répertoire/home/sm-publish.
D'autres méthodes de publication sont également possibles. Voici un exemple de gestion de 2 nœuds de travailleurs:
dotnet Hos.ScheduleMaster.Web.dll pour démarrer le programme. La première startup migrera automatiquement et générera la structure de la base de données et initialise les données de graines . Ouvrez le navigateur et entrez l'IP et le port pour accéder (premier nom d'utilisateur admin , mot de passe 111111 ).dotnet Hos.ScheduleMaster.QuartzHost.dll --urls http://*:30001 pour démarrer le programme. Ouvrez le navigateur et entrez l'IP et le port et vous verrez une page de bienvenue, indiquant que le travailleur a été démarré avec succès.appsettings.json sous Worker dans la configuration de Worker2 (sautez-le s'il a été modifié avant la libération) et exécutez la commande dotnet Hos.ScheduleMaster.QuartzHost.dll --urls http://*:30002 pour démarrer le programme.Veuillez vous assurer que la machine a l'installation
.NET Core3.1avant l'exécution.
Copiez le fichier de publication dans CentOS et les étapes de fonctionnement sont les mêmes que Windows.
docker build -t ms_master . Commande dans le répertoire de publication du maître pour générer l'image maître, puis exécuter docker run -d -p 30000:30000 --name="mymaster" ms_master pour exécuter le conteneur.docker build -t ms_worker . Commande dans le répertoire Publier Worker pour générer une image de travailleur, puis exécuter docker run -d -p 30001:80 --name="myworker1" ms_worker bash --identity=docker-worker1 --ip=你的宿主机IP --port=30001 Exécutez le conteneur pour démarrer Worker1.docker run -d -p 30002:80 --name="myworker2" ms_worker bash --identity=docker-worker2 --ip=你的宿主机IP --port=30002 run conteneur pour démarrer Worker2.docker ps pour vérifier l'état d'exécution de chaque conteneur. S'il ne peut pas être exécuté, veuillez vérifier le journal des conteneurs. Groupe QQ: 824535095
N'hésitez pas à payer, veuillez noter si vous l'aimez ~