package main
import (
"fmt"
"time"
"context"
)
func HandelRequest(ctx context.Context){
go WriteRedis(ctx)
go WriteDatabase(ctx)
for {
select{
case <- ctx.Done():
fmt.Println("HandelRequest Done.")
return
default:
fmt.Println("handel request running")
time.Sleep(2*time.Second)
}
}
}
func WriteRedis(ctx context.Context){
for {
select{
case <- ctx.Done():
fmt.Println("WriteRedis Done.")
return
default:
fmt.Println("WriteRedis running")
time.Sleep(2*time.Second)
}
}
}
func WriteDatabase(ctx context.Context){
for {
select{
case <- ctx.Done():
fmt.Println("WriteDatabase Done.")
return
default:
fmt.Println("WriteDatabase running")
time.Sleep(2*time.Second)
}
}
}
func main(){
ctx, _ := context.WithTimeout(context.Background(), 5*time.Second)
go HandelRequest(ctx)
time.Sleep(10*time.Second)
}