SchedulEmaster - это система планирования распределенных задач с открытым исходным кодом. Он построен на платформе .NET Core 3.1 и поддерживает кроссплатформенное развертывание и эксплуатацию мульти-узла.
ASP.NET CORE3.1, EntityFrameWork Core3.0, MySQL5.7, Quartz.net, BeyondAdmin, jQuery ...
Перед использованием, пожалуйста, подготовьте требуемую среду:
Visual Studio 2019,.NET Core3.1 SDK,Mysql 5.7(可选),SQLServer(可选),PostgreSQL(可选),Centos(可选),Docker(可选).
Ниже приведен пример использования MySQL в качестве базы данных и запуска его в файле конфигурации . Для других методов обратитесь к подробной документации.
Загрузите исходный код локально, затем откройте решение с VS2019 и составьте его через.
Откройте файл appsettings.json в корневом каталоге проекта hos.schedulemaster.web, сначала измените строку подключения базы данных MySQL, чтобы обеспечить нормальный доступ к базе данных, а затем найдите узловой узел NodeSetting , измените поле IP на IP-адрес, который Master будет развернуть (мастер-порт является 30 000 и не нуждается в модифицированном), в правильном щелке в Project и выберите «Опубликовать», чтобы опубликовать, чтобы опубликовать, чтобы опубликовать, чтобы опубликовать, чтобы опубликовать, чтобы опубликовать, чтобы опубликовать, чтобы опубликовать, чтобы опубликовать, чтобы опубликовать, чтобы опубликовать, чтобы опубликовать.
Откройте файл appsettings.json в корневом каталоге проекта hos.schedulemaster.quartzhost, сначала измените строку соединения MySQL, затем найдите NodeSetting узел, установите имя работника IdentityName , измените IP поле для IP-адреса, чтобы быть развернутым, и Port поле для публикации (для того, чтобы он был выпущен, на то, чтобы он был накапливается, и на всеобъемлющий, и напротив. в местную папку. Если вы хотите добавить нового работника, просто настройте IdentityName、IP、Port таким же образом. После того, как работник запустится, он внедрит свою собственную информацию в базу данных и может быть замечен в мастере.
Советы по быстрому выпуску: используйте PowerShell для выполнения Script
publish.ps1на платформе Windows, чтобы быстро опубликовать его в каталогеd:/sm-publish, и выполнить Scriptsh publish.shна платформе Linux, чтобы быстро опубликовать его в каталоге/home/sm-publish.
Другие методы публикации также возможны. Вот пример запуска 2 рабочих узлов:
dotnet Hos.ScheduleMaster.Web.dll чтобы начать программу. Первый стартап автоматически будет мигрировать и генерировать структуру базы данных и инициализировать данные семян . Откройте браузер и введите IP и порт для доступа (начальное имя пользователя admin , пароль 111111 ).dotnet Hos.ScheduleMaster.QuartzHost.dll --urls http://*:30001 чтобы запустить программу. Откройте браузер и введите IP и порт, и вы увидите приветственную страницу, указывая, что работник был успешно начат.appsettings.json под работником на конфигурацию работника2 (пропустите его, если он был изменен до выпуска), и выполнить команду dotnet Hos.ScheduleMaster.QuartzHost.dll --urls http://*:30002 чтобы запустить программу.Пожалуйста, убедитесь, что на машине есть среда выполнения
.NET Core3.1, установленная перед запуском.
Скопируйте файл публикации в CentOS, а шаги операции такие же, как Windows.
docker build -t ms_master . Команда в каталоге Master's Publish для генерации главного изображения, а затем выполните docker run -d -p 30000:30000 --name="mymaster" ms_master чтобы запустить контейнер.docker build -t ms_worker . Команда в каталоге работника опубликовать для создания изображения работника, а затем выполнить docker run -d -p 30001:80 --name="myworker1" ms_worker bash --identity=docker-worker1 --ip=你的宿主机IP --port=30001 Запустите контейнер для запуска рабочего1.docker run -d -p 30002:80 --name="myworker2" ms_worker bash --identity=docker-worker2 --ip=你的宿主机IP --port=30002 Запустить контейнер для запуска Worker2.docker ps , чтобы проверить состояние работы каждого контейнера. Если его нельзя запустить, пожалуйста, проверьте журнал контейнеров. QQ Группа: 824535095
Пожалуйста, не стесняйтесь платить, обратите внимание, если вам это нравится ~