|
|
@ -169,6 +169,19 @@ func (env *Env) startBooking(job *Booking, username string, password string, cre |
|
|
|
defaultDevice.UserAgent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36" |
|
|
|
browser := rod.New().ControlURL(u).MustConnect().DefaultDevice(defaultDevice) |
|
|
|
|
|
|
|
// Close browser when context is done
|
|
|
|
go func() { |
|
|
|
defer func() { |
|
|
|
if r := recover(); r != nil { |
|
|
|
log.Println("Recovering from browser panic...") |
|
|
|
} |
|
|
|
}() |
|
|
|
|
|
|
|
<-timerCtx.Done() |
|
|
|
log.Println("Timed out. Closing browser.") |
|
|
|
browser.MustClose() |
|
|
|
}() |
|
|
|
|
|
|
|
// Defer closing browser
|
|
|
|
defer browser.MustClose() |
|
|
|
|
|
|
|