Schedulemaster es un sistema de programación de tareas distribuidas de código abierto. Se basa en la plataforma .NET Core 3.1 y admite la implementación y operación de la plataforma multi-nodo.
ASP.NET Core3.1, EntityFramework Core3.0, MySQL5.7, Quartz.net, BeyondMin, jQuery ...
Antes de usar, prepare el entorno requerido:
Visual Studio 2019,.NET Core3.1 SDK,Mysql 5.7(可选),SQLServer(可选),PostgreSQL(可选),Centos(可选),Docker(可选).
El siguiente es un ejemplo del uso de MySQL como una base de datos y la inicia en el archivo de configuración . Para otros métodos, consulte la documentación detallada.
Descargue el código fuente localmente, luego abra la solución con VS2019 y compáquelo.
Abra el archivo appsettings.json en el directorio raíz del proyecto hos.schedulemaster.web, primero modifique la cadena de conexión de la base de datos MySQL para garantizar el acceso a la base de datos normal, luego busque el nodo NodeSetting , modifique IP en la dirección IP que implementará el puerto maestro (el puerto maestro es 30,000 y no es necesario modificar), click en el proyecto y seleccionar publicar ... a la dirección de IP a la placa.
Abra el archivo appsettings.json en el directorio raíz del proyecto hos.schedulemaster.quartzhost, primero modifique la cadena de conexión mySQL, luego busque el nodo nodo NodeSetting , establece el nombre del IdentityName de trabajadores, modifique IP a la dirección IP que se implementa y Port para publicar y seleccione el proyecto y seleccione el proyecto y seleccione y seleccione el proyecto y seleccione el proyecto y seleccione el Proyecto y seleccione el Proyecto y SELECT y SELECT, y SELECT, y SELECT, y SELECT, y SELECT, y SELECT, y SELECT, y SELECT, y SELECT, y SELECT, y SELECT, y SELECT, y SELECT, y SELECT, y SELECT, y SELECT, y se publique, y seleccione. la carpeta local. Si desea agregar un nuevo trabajador, simplemente configure IdentityName、IP、Port de la misma manera. Después de que el trabajador comience, inyectará su propia información en la base de datos y se puede ver en el maestro.
Consejos de lanzamiento rápido: use PowerShell para ejecutar Script
publish.ps1en la plataforma de Windows para publicarlo rápidamente end:/sm-publish, y ejecutar scriptsh publish.shen la plataforma Linux para publicarlo rápidamente en el directorio/home/sm-publish.
También son posibles otros métodos de publicación. Aquí hay un ejemplo de ejecutar 2 nodos de trabajadores:
dotnet Hos.ScheduleMaster.Web.dll para iniciar el programa. La primera inicio migrará y generará automáticamente la estructura de la base de datos e inicializará los datos de semillas . Abra el navegador e ingrese la IP y el puerto para acceder ( admin de nombre de usuario inicial, contraseña 111111 ).dotnet Hos.ScheduleMaster.QuartzHost.dll --urls http://*:30001 para iniciar el programa. Abra el navegador e ingrese la IP y el puerto y verá una página de bienvenida, lo que indica que el trabajador ha sido iniciado con éxito.appsettings.json en Worker a la configuración de Worker2 (omita si se ha modificado antes de la versión) y ejecute el comando dotnet Hos.ScheduleMaster.QuartzHost.dll --urls http://*:30002 para iniciar el programa.Asegúrese de que la máquina tenga
.NET Core3.1instalado antes de ejecutarse.
Copie el archivo de publicación a CentOS, y los pasos de operación son los mismos que Windows.
docker build -t ms_master . Comando en el directorio de publicación del maestro para generar la imagen maestra, y luego ejecute docker run -d -p 30000:30000 --name="mymaster" ms_master para ejecutar el contenedor.docker build -t ms_worker . Comando en el Directorio de Publicar Worker para generar una imagen de trabajador, y luego ejecute docker run -d -p 30001:80 --name="myworker1" ms_worker bash --identity=docker-worker1 --ip=你的宿主机IP --port=30001 Ejecute el contenedor para iniciar Worker1.docker run -d -p 30002:80 --name="myworker2" ms_worker bash --identity=docker-worker2 --ip=你的宿主机IP --port=30002 Ejecutar contenedor para comenzar Worker2.docker ps para verificar el estado de ejecución de cada contenedor. Si no se puede ejecutar, verifique el registro de contenedores. Grupo QQ: 824535095
No dude en pagar, tenga en cuenta si le gusta ~