mirror of
https://github.com/giongto35/cloud-game.git
synced 2026-01-23 02:34:42 +00:00
Remove room watchers
This commit is contained in:
parent
059e19d790
commit
aeb41008c9
2 changed files with 1 additions and 49 deletions
|
|
@ -1,46 +0,0 @@
|
|||
package worker
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/giongto35/cloud-game/v3/pkg/logger"
|
||||
"github.com/giongto35/cloud-game/v3/pkg/worker/room"
|
||||
)
|
||||
|
||||
type Watcher struct {
|
||||
r *room.GameRouter
|
||||
t *time.Ticker
|
||||
done chan struct{}
|
||||
log *logger.Logger
|
||||
}
|
||||
|
||||
func NewWatcher(p time.Duration, router *room.GameRouter, log *logger.Logger) *Watcher {
|
||||
return &Watcher{
|
||||
r: router,
|
||||
t: time.NewTicker(p),
|
||||
done: make(chan struct{}),
|
||||
log: log,
|
||||
}
|
||||
}
|
||||
|
||||
func (w *Watcher) Run() {
|
||||
go func() {
|
||||
for {
|
||||
select {
|
||||
case <-w.t.C:
|
||||
if w.r.HasRoom() && w.r.Users().Empty() {
|
||||
w.r.Close()
|
||||
w.log.Warn().Msgf("Forced room close!")
|
||||
}
|
||||
case <-w.done:
|
||||
return
|
||||
}
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
func (w *Watcher) Stop() error {
|
||||
w.t.Stop()
|
||||
close(w.done)
|
||||
return nil
|
||||
}
|
||||
|
|
@ -3,7 +3,6 @@ package worker
|
|||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/giongto35/cloud-game/v3/pkg/config"
|
||||
"github.com/giongto35/cloud-game/v3/pkg/games"
|
||||
|
|
@ -25,7 +24,7 @@ type Worker struct {
|
|||
log *logger.Logger
|
||||
mana *caged.Manager
|
||||
router *room.GameRouter
|
||||
services [3]interface {
|
||||
services [2]interface {
|
||||
Run()
|
||||
Stop() error
|
||||
}
|
||||
|
|
@ -77,7 +76,6 @@ func New(conf config.WorkerConfig, log *logger.Logger) (*Worker, error) {
|
|||
log.Warn().Err(err).Msgf("cloud storage fail, using no storage")
|
||||
}
|
||||
worker.storage = st
|
||||
worker.services[2] = NewWatcher(30*time.Minute, worker.router, log)
|
||||
|
||||
return worker, nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue