Schedulemaster เป็นระบบจัดตารางเวลางานแบบกระจายโอเพ่นซอร์ส มันถูกสร้างขึ้นบนแพลตฟอร์ม. NET Core 3.1 และรองรับการปรับใช้และการใช้งานแบบหลายแพลตฟอร์มข้ามแพลตฟอร์ม
ASP.NET CORE3.1, EntityFramework Core3.0, MySQL5.7, Quartz.net, Beyondmin, 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
เปิดไฟล์ appsettings.json ในไดเรกทอรีรู Port ของโครงการ hos.schedulemaster.quartzhost ก่อนแก้ไขสตริงการเชื่อมต่อ IP ก่อนจากนั้นค้นหาโหนด NodeSetting ตั้งชื่อชื่อของผู้ปฏิบัติงานจะปรับ IdentityName ที่อยู่ เผยแพร่ไปยังโฟลเดอร์ท้องถิ่น หากคุณต้องการเพิ่มผู้ปฏิบัติงานใหม่เพียงกำหนด IdentityName、IP、Port ในลักษณะเดียวกัน หลังจากที่คนงานเริ่มต้นขึ้นมันจะฉีดข้อมูลของตัวเองลงในฐานข้อมูลและสามารถเห็นได้ในอาจารย์
เคล็ดลับการเปิดตัวอย่างรวดเร็ว: ใช้ PowerShell เพื่อเรียกใช้สคริปต์
publish.ps1บนแพลตฟอร์ม Windows เพื่อเผยแพร่ไปยังไดเรกทอรีd:/sm-publishอย่างรวดเร็วและดำเนินการสคริปต์sh 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 ภายใต้ Worker ไปยังการกำหนดค่าของ Worker2 (ข้ามถ้ามีการแก้ไขก่อนที่จะเปิดตัว) และดำเนินการคำสั่ง dotnet Hos.ScheduleMaster.QuartzHost.dll --urls http://*:30002 เพื่อเริ่มโปรแกรมโปรดตรวจสอบให้แน่ใจว่าเครื่องมี
.NET Core3.1Runtime Environment ติดตั้งก่อนที่จะทำงาน
คัดลอกไฟล์การเผยแพร่ไปยัง Centos และขั้นตอนการดำเนินการเหมือนกับ Windows
docker build -t ms_master . คำสั่งในไดเรกทอรีการเผยแพร่ต้นแบบเพื่อสร้างภาพต้นแบบจากนั้นเรียกใช้ 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 เรียกใช้คอนเทนเนอร์เพื่อเริ่มงาน 1docker run -d -p 30002:80 --name="myworker2" ms_worker bash --identity=docker-worker2 --ip=你的宿主机IP --port=30002 Run Container เพื่อเริ่ม Worker2docker ps เพื่อตรวจสอบสถานะการทำงานของแต่ละคอนเทนเนอร์ หากไม่สามารถรันได้โปรดตรวจสอบบันทึกคอนเทนเนอร์ กลุ่ม QQ: 824535095
โปรดอย่าลังเลที่จะจ่ายโปรดทราบว่าคุณชอบ ~