O ScheduleMaster é um sistema de agendamento de tarefas distribuído de código aberto. Ele é construído na plataforma .NET Core 3.1 e suporta a implantação e operação de vários nó.
ASP.NET Core3.1, EntityFramework Core3.0, MySQL5.7, Quartz.net, BeyondAdmin, JQuery ...
Antes de usar, prepare o ambiente necessário:
Visual Studio 2019,.NET Core3.1 SDK,Mysql 5.7(可选),SQLServer(可选),PostgreSQL(可选),Centos(可选),Docker(可选).
A seguir, é apresentado um exemplo de uso do MySQL como um banco de dados e iniciando -o no arquivo de configuração . Para outros métodos, consulte a documentação detalhada.
Faça o download do código -fonte localmente, abra a solução com o VS2019 e compile -o.
Abra o arquivo appsettings.json no diretório raiz do projeto Hos.scheduleMaster.web, primeiro modifique a sequência de conexão do banco de dados MySQL para garantir o acesso normal ao banco de dados e, em seguida, encontre IP nó de NodeSetting .
Open the appsettings.json file in the root directory of the project Hos.ScheduleMaster.QuartzHost, first modify the Mysql connection string, then find the NodeSetting node, set the name of the worker IdentityName , modify IP field to the IP address to be deployed, and Port field to the address to be listened to (recommended to be 30001), right-click on the project and select Publish..., and publish to a pasta local. Se você deseja adicionar um novo trabalhador, basta configurar IdentityName、IP、Port da mesma maneira. Depois que o trabalhador iniciar, ele injetará suas próprias informações no banco de dados e pode ser visto no mestre.
Dicas de lançamento rápido: use o PowerShell para executar o script
publish.ps1na plataforma Windows para publicá-lo rapidamente no diretóriod:/sm-publishe executar scriptsh publish.shna plataforma Linux para publicá-lo rapidamente no diretório/home/sm-publish.
Outros métodos de publicação também são possíveis. Aqui está um exemplo de execução de 2 nós de trabalhadores:
dotnet Hos.ScheduleMaster.Web.dll para iniciar o programa. A primeira startup migrará e gerará automaticamente a estrutura do banco de dados e inicializará os dados das sementes . Abra o navegador e digite o IP e a porta para acessar (Nome do usuário inicial, admin 111111 ).dotnet Hos.ScheduleMaster.QuartzHost.dll --urls http://*:30001 para iniciar o programa. Abra o navegador e digite o IP e a porta e você verá uma página de boas -vindas, indicando que o trabalhador foi iniciado com sucesso.appsettings.json em Worker para a configuração do trabalhador2 (pule -o se for modificado antes da liberação) e execute o comando dotnet Hos.ScheduleMaster.QuartzHost.dll --urls http://*:30002 para iniciar o programa.Verifique se a máquina possui
.NET Core3.1Runtime instalado antes da execução.
Copie o arquivo de publicação para o CentOS e as etapas de operação são as mesmas do Windows.
docker build -t ms_master . comando no diretório de publicação do mestre para gerar a imagem mestre e, em seguida, executar docker run -d -p 30000:30000 --name="mymaster" ms_master para executar o contêiner.docker build -t ms_worker . Comando no diretório Publicar o trabalhador para gerar uma imagem do trabalhador e, em seguida, execute docker run -d -p 30001:80 --name="myworker1" ms_worker bash --identity=docker-worker1 --ip=你的宿主机IP --port=30001 Run the Container Worker1.docker run -d -p 30002:80 --name="myworker2" ms_worker bash --identity=docker-worker2 --ip=你的宿主机IP --port=30002 Run Container para iniciar o trabalhador2.docker ps para verificar o status de execução de cada contêiner. Se não puder ser executado, verifique o log de contêineres. Grupo QQ: 824535095
Sinta -se à vontade para pagar, observe se você gosta ~