Инициализация проекта
Стабильный рабочий проект.
This commit is contained in:
79
Backend/tools/FunctionAll.go
Normal file
79
Backend/tools/FunctionAll.go
Normal file
@@ -0,0 +1,79 @@
|
||||
package tools
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
"time"
|
||||
)
|
||||
|
||||
// Время запуска сервера
|
||||
var ServerStartTime time.Time
|
||||
|
||||
// isPortInUse проверяет, занят ли указанный порт
|
||||
func Port_check(service string, host string, port string) bool {
|
||||
conn, err := net.DialTimeout("tcp", host+":"+port, time.Millisecond*300)
|
||||
if err != nil {
|
||||
return false // порт свободен
|
||||
}
|
||||
conn.Close()
|
||||
Logs_file(1, service, "⚠️ Порт "+port+" уже занят, сервис не запущен", "logs_error.log", true)
|
||||
return true // порт занят
|
||||
}
|
||||
|
||||
// Управление временем работы сервера
|
||||
func ServerUptime(action string, asSeconds ...bool) interface{} {
|
||||
switch action {
|
||||
case "start":
|
||||
// Инициализация времени запуска
|
||||
ServerStartTime = time.Now()
|
||||
return nil
|
||||
|
||||
case "get":
|
||||
// Получить время работы
|
||||
if ServerStartTime.IsZero() {
|
||||
if len(asSeconds) > 0 && asSeconds[0] {
|
||||
return int64(0)
|
||||
}
|
||||
return "Сервер не запущен"
|
||||
}
|
||||
|
||||
uptime := time.Since(ServerStartTime)
|
||||
|
||||
// Возвращаем секунды
|
||||
if len(asSeconds) > 0 && asSeconds[0] {
|
||||
return int64(uptime.Seconds())
|
||||
}
|
||||
|
||||
// Возвращаем читаемый формат
|
||||
days := int(uptime.Hours()) / 24
|
||||
hours := int(uptime.Hours()) % 24
|
||||
minutes := int(uptime.Minutes()) % 60
|
||||
seconds := int(uptime.Seconds()) % 60
|
||||
|
||||
if days > 0 {
|
||||
return fmt.Sprintf("%dд %dч %dм", days, hours, minutes)
|
||||
} else if hours > 0 {
|
||||
return fmt.Sprintf("%dч %dм", hours, minutes)
|
||||
} else if minutes > 0 {
|
||||
return fmt.Sprintf("%dм", minutes)
|
||||
} else {
|
||||
return fmt.Sprintf("%dс", seconds)
|
||||
}
|
||||
|
||||
default:
|
||||
return "Неизвестное действие"
|
||||
}
|
||||
}
|
||||
|
||||
func Error_check(err error, message string) bool {
|
||||
if err != nil {
|
||||
fmt.Printf("Ошибка: %v\n", message)
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user