mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-06-05 07:26:47 +00:00
exchanges: Initial context propagation (#744)
* gct: phase one context awareness pass * exchanges: context propagation pass * common/requester: force context requirement * gctcli/exchanges: linter fix * rpcserver: fix test using dummy rpc server * backtester: fix comments * grpc: add correct cancel and timeout for commands * rpcserver_test: add comment on dummy server * common: deprecated SendHTTPGetRequest * linter: fix * linter: turn on no context check * apichecker: fix context linter issue * binance: use param context * common: remove checks as this gets executed before main * common: change mutex to RW as clients can be used by multiple go routines. * common: remove init and JIT default client. Unexport global variables and add protection. * common: Add comments * bithumb: after dinner mints fix
This commit is contained in:
@@ -109,38 +109,19 @@ func (vm *VM) Compile() (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
// Run runs byte code
|
||||
func (vm *VM) Run() (err error) {
|
||||
if vm.config.Verbose {
|
||||
log.Debugf(log.GCTScriptMgr, "Running script: %s ID: %v", vm.ShortName(), vm.ID)
|
||||
}
|
||||
|
||||
err = vm.Compiled.Run()
|
||||
if err != nil {
|
||||
vm.event(StatusFailure, TypeExecute)
|
||||
return Error{
|
||||
Action: "Run",
|
||||
Cause: err,
|
||||
}
|
||||
}
|
||||
vm.event(StatusSuccess, TypeExecute)
|
||||
return
|
||||
}
|
||||
|
||||
// RunCtx runs compiled byte code with context.Context support.
|
||||
func (vm *VM) RunCtx() (err error) {
|
||||
if vm.ctx == nil {
|
||||
vm.ctx = context.Background()
|
||||
}
|
||||
|
||||
ct, cancel := context.WithTimeout(vm.ctx, vm.config.ScriptTimeout)
|
||||
ctx, cancel := context.WithTimeout(context.Background(), vm.config.ScriptTimeout)
|
||||
defer cancel()
|
||||
|
||||
if vm.config.Verbose {
|
||||
log.Debugf(log.GCTScriptMgr, "Running script: %s ID: %v", vm.ShortName(), vm.ID)
|
||||
log.Debugf(log.GCTScriptMgr,
|
||||
"Running script: %s ID: %v",
|
||||
vm.ShortName(),
|
||||
vm.ID)
|
||||
}
|
||||
|
||||
err = vm.Compiled.RunContext(ct)
|
||||
err = vm.Compiled.RunContext(ctx)
|
||||
if err != nil {
|
||||
vm.event(StatusFailure, TypeExecute)
|
||||
return Error{
|
||||
|
||||
Reference in New Issue
Block a user