1
0
mirror of https://github.com/ManyakRus/starter.git synced 2025-11-26 23:10:42 +02:00

сделал gpt4

This commit is contained in:
Nikitin Aleksandr
2023-05-02 09:44:46 +03:00
parent 66e89131a4
commit 58704c2a28
346 changed files with 26612 additions and 4615 deletions

View File

@@ -3,6 +3,7 @@
package micro
import (
"context"
"errors"
"fmt"
"runtime"
@@ -320,3 +321,30 @@ func MinInt64(x, y int64) int64 {
}
return x
}
// GoGo - запускает функцию в отдельном потоке
func GoGo(ctx context.Context, fn func() error) error {
var err error
chanErr := make(chan error)
go gogo_chan(fn, chanErr)
select {
case <-ctx.Done():
Text1 := "error: TimeOut"
err = errors.New(Text1)
return err
case err = <-chanErr:
//print("err: ", err)
break
}
return err
}
// gogo_chan - запускает функцию и возвращает ошибку в поток
// только совместно с GoGo()
func gogo_chan(fn func() error, chanErr chan error) {
err := fn()
chanErr <- err
}