mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-16 23:16:48 +00:00
Preserve ticker/orderbook output
This commit is contained in:
6
main.go
6
main.go
@@ -59,7 +59,7 @@ func main() {
|
||||
flag.StringVar(&bot.dataDir, "datadir", common.GetDefaultDataDir(runtime.GOOS), "default data directory for GoCryptoTrader files")
|
||||
dryrun := flag.Bool("dryrun", false, "dry runs bot, doesn't save config file")
|
||||
version := flag.Bool("version", false, "retrieves current GoCryptoTrader version")
|
||||
verbosity := flag.Bool("verbose", false, "-verbose increases logging verbosity for GoCryptoTrader")
|
||||
verbosity := flag.Bool("verbose", false, "increases logging verbosity for GoCryptoTrader")
|
||||
|
||||
flag.Parse()
|
||||
|
||||
@@ -159,8 +159,8 @@ func main() {
|
||||
|
||||
go portfolio.StartPortfolioWatcher()
|
||||
|
||||
go TickerUpdaterRoutine(*verbosity)
|
||||
go OrderbookUpdaterRoutine(*verbosity)
|
||||
go TickerUpdaterRoutine()
|
||||
go OrderbookUpdaterRoutine()
|
||||
go WebsocketRoutine(*verbosity)
|
||||
|
||||
<-bot.shutdown
|
||||
|
||||
40
routines.go
40
routines.go
@@ -53,7 +53,7 @@ func printConvertCurrencyFormat(origCurrency string, origPrice float64) string {
|
||||
)
|
||||
}
|
||||
|
||||
func printTickerSummary(result ticker.Price, p pair.CurrencyPair, assetType, exchangeName string, err error, verbose bool) {
|
||||
func printTickerSummary(result ticker.Price, p pair.CurrencyPair, assetType, exchangeName string, err error) {
|
||||
if err != nil {
|
||||
log.Printf("Failed to get %s %s ticker. Error: %s",
|
||||
p.Pair().String(),
|
||||
@@ -62,10 +62,6 @@ func printTickerSummary(result ticker.Price, p pair.CurrencyPair, assetType, exc
|
||||
return
|
||||
}
|
||||
|
||||
if !verbose {
|
||||
return
|
||||
}
|
||||
|
||||
stats.Add(exchangeName, p, assetType, result.Last, result.Volume)
|
||||
if currency.IsFiatCurrency(p.SecondCurrency.String()) && p.SecondCurrency.String() != bot.config.Currency.FiatDisplayCurrency {
|
||||
origCurrency := p.SecondCurrency.Upper().String()
|
||||
@@ -106,7 +102,7 @@ func printTickerSummary(result ticker.Price, p pair.CurrencyPair, assetType, exc
|
||||
}
|
||||
}
|
||||
|
||||
func printOrderbookSummary(result orderbook.Base, p pair.CurrencyPair, assetType, exchangeName string, err error, verbose bool) {
|
||||
func printOrderbookSummary(result orderbook.Base, p pair.CurrencyPair, assetType, exchangeName string, err error) {
|
||||
if err != nil {
|
||||
log.Printf("Failed to get %s %s orderbook. Error: %s",
|
||||
p.Pair().String(),
|
||||
@@ -115,10 +111,6 @@ func printOrderbookSummary(result orderbook.Base, p pair.CurrencyPair, assetType
|
||||
return
|
||||
}
|
||||
|
||||
if !verbose {
|
||||
return
|
||||
}
|
||||
|
||||
bidsAmount, bidsValue := result.CalculateTotalBids()
|
||||
asksAmount, asksValue := result.CalculateTotalAsks()
|
||||
|
||||
@@ -170,7 +162,7 @@ func printOrderbookSummary(result orderbook.Base, p pair.CurrencyPair, assetType
|
||||
}
|
||||
}
|
||||
|
||||
func relayWebsocketEvent(result interface{}, event, assetType, exchangeName string, verbose bool) {
|
||||
func relayWebsocketEvent(result interface{}, event, assetType, exchangeName string) {
|
||||
evt := WebsocketEvent{
|
||||
Data: result,
|
||||
Event: event,
|
||||
@@ -179,16 +171,14 @@ func relayWebsocketEvent(result interface{}, event, assetType, exchangeName stri
|
||||
}
|
||||
err := BroadcastWebsocketMessage(evt)
|
||||
if err != nil {
|
||||
if verbose {
|
||||
log.Println(fmt.Errorf("Failed to broadcast websocket event. Error: %s",
|
||||
err))
|
||||
}
|
||||
log.Println(fmt.Errorf("Failed to broadcast websocket event. Error: %s",
|
||||
err))
|
||||
}
|
||||
}
|
||||
|
||||
// TickerUpdaterRoutine fetches and updates the ticker for all enabled
|
||||
// currency pairs and exchanges
|
||||
func TickerUpdaterRoutine(verbose bool) {
|
||||
func TickerUpdaterRoutine() {
|
||||
log.Println("Starting ticker updater routine.")
|
||||
var wg sync.WaitGroup
|
||||
for {
|
||||
@@ -217,11 +207,11 @@ func TickerUpdaterRoutine(verbose bool) {
|
||||
} else {
|
||||
result, err = exch.GetTickerPrice(c, assetType)
|
||||
}
|
||||
printTickerSummary(result, c, assetType, exchangeName, err, verbose)
|
||||
printTickerSummary(result, c, assetType, exchangeName, err)
|
||||
if err == nil {
|
||||
bot.comms.StageTickerData(exchangeName, assetType, result)
|
||||
if bot.config.Webserver.Enabled {
|
||||
relayWebsocketEvent(result, "ticker_update", assetType, exchangeName, verbose)
|
||||
relayWebsocketEvent(result, "ticker_update", assetType, exchangeName)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -238,16 +228,14 @@ func TickerUpdaterRoutine(verbose bool) {
|
||||
}(x, &wg)
|
||||
}
|
||||
wg.Wait()
|
||||
if verbose {
|
||||
log.Println("All enabled currency tickers fetched.")
|
||||
}
|
||||
log.Println("All enabled currency tickers fetched.")
|
||||
time.Sleep(time.Second * 10)
|
||||
}
|
||||
}
|
||||
|
||||
// OrderbookUpdaterRoutine fetches and updates the orderbooks for all enabled
|
||||
// currency pairs and exchanges
|
||||
func OrderbookUpdaterRoutine(verbose bool) {
|
||||
func OrderbookUpdaterRoutine() {
|
||||
log.Println("Starting orderbook updater routine.")
|
||||
var wg sync.WaitGroup
|
||||
for {
|
||||
@@ -270,11 +258,11 @@ func OrderbookUpdaterRoutine(verbose bool) {
|
||||
|
||||
processOrderbook := func(exch exchange.IBotExchange, c pair.CurrencyPair, assetType string) {
|
||||
result, err := exch.UpdateOrderbook(c, assetType)
|
||||
printOrderbookSummary(result, c, assetType, exchangeName, err, verbose)
|
||||
printOrderbookSummary(result, c, assetType, exchangeName, err)
|
||||
if err == nil {
|
||||
bot.comms.StageOrderbookData(exchangeName, assetType, result)
|
||||
if bot.config.Webserver.Enabled {
|
||||
relayWebsocketEvent(result, "orderbook_update", assetType, exchangeName, verbose)
|
||||
relayWebsocketEvent(result, "orderbook_update", assetType, exchangeName)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -287,9 +275,7 @@ func OrderbookUpdaterRoutine(verbose bool) {
|
||||
}(x, &wg)
|
||||
}
|
||||
wg.Wait()
|
||||
if verbose {
|
||||
log.Println("All enabled currency orderbooks fetched.")
|
||||
}
|
||||
log.Println("All enabled currency orderbooks fetched.")
|
||||
time.Sleep(time.Second * 10)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user