first add
This commit is contained in:
		
						commit
						31e2e597a8
					
				
							
								
								
									
										21
									
								
								go.mod
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								go.mod
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					module github.com/phyer/siaga
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go 1.21
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require (
 | 
				
			||||||
 | 
						github.com/bitly/go-simplejson v0.5.0
 | 
				
			||||||
 | 
						github.com/go-redis/redis v6.15.9+incompatible
 | 
				
			||||||
 | 
						github.com/sirupsen/logrus v1.8.1
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require (
 | 
				
			||||||
 | 
						github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 // indirect
 | 
				
			||||||
 | 
						github.com/kr/pretty v0.3.0 // indirect
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require (
 | 
				
			||||||
 | 
						github.com/onsi/ginkgo v1.16.5 // indirect
 | 
				
			||||||
 | 
						github.com/onsi/gomega v1.18.1 // indirect
 | 
				
			||||||
 | 
						github.com/stretchr/testify v1.5.1 // indirect
 | 
				
			||||||
 | 
						golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										126
									
								
								main.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										126
									
								
								main.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,126 @@
 | 
				
			|||||||
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
						"os"
 | 
				
			||||||
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"github.com/sirupsen/logrus"
 | 
				
			||||||
 | 
						"phyer.click/sardine/core"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func main() {
 | 
				
			||||||
 | 
						cr := core.Core{}
 | 
				
			||||||
 | 
						cr.Init()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						remoteList, err := core.GetRemoteRedisConfigList()
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							logrus.Panic("GetRemoteRedisConfigList err: ", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						founded := false
 | 
				
			||||||
 | 
						for k, v := range remoteList {
 | 
				
			||||||
 | 
							cliOk := false
 | 
				
			||||||
 | 
							cli, err := cr.GetRedisRemoteCli(v)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								logrus.Warning("GetRedisCli err: ", err)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							pong, err := cli.Ping().Result()
 | 
				
			||||||
 | 
							if pong == "PONG" && err == nil {
 | 
				
			||||||
 | 
								cliOk = true
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								fmt.Println("redis", k, "状态不可用:", err)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if !cliOk {
 | 
				
			||||||
 | 
								continue
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							fmt.Println("redis", k, "状态可用:", err)
 | 
				
			||||||
 | 
							founded = true
 | 
				
			||||||
 | 
							cr.RedisRemoteCli = cli
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							allCandleAdd := core.ALLCANDLES_PUBLISH
 | 
				
			||||||
 | 
							allMaXAdd := core.ALLMAX_PUBLISH
 | 
				
			||||||
 | 
							ce := v.ChannelPreName
 | 
				
			||||||
 | 
							if len(ce) > 0 {
 | 
				
			||||||
 | 
								allCandleAdd = ce + "|" + allCandleAdd
 | 
				
			||||||
 | 
								allMaXAdd = ce + "|" + allMaXAdd
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							// 目前只有phyer里部署的tunas会发布tickerInfo信息
 | 
				
			||||||
 | 
							go func(vv *core.RedisConfig) {
 | 
				
			||||||
 | 
								allowed := os.Getenv("SARDINE_ACCEPTTICKER") == "true"
 | 
				
			||||||
 | 
								if !allowed {
 | 
				
			||||||
 | 
									return
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								core.LoopSubscribe(&cr, core.TICKERINFO_PUBLISH, vv)
 | 
				
			||||||
 | 
							}(v)
 | 
				
			||||||
 | 
							time.Sleep(5 * time.Second)
 | 
				
			||||||
 | 
							go func(vv *core.RedisConfig) {
 | 
				
			||||||
 | 
								allowed := os.Getenv("SARDINE_ACCEPTCANDLE") == "true"
 | 
				
			||||||
 | 
								if !allowed {
 | 
				
			||||||
 | 
									return
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								core.LoopSubscribe(&cr, allCandleAdd, vv)
 | 
				
			||||||
 | 
							}(v)
 | 
				
			||||||
 | 
							go func(vv *core.RedisConfig) {
 | 
				
			||||||
 | 
								allowed := os.Getenv("SARDINE_ACCEPTMAX") == "true"
 | 
				
			||||||
 | 
								if !allowed {
 | 
				
			||||||
 | 
									return
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								core.LoopSubscribe(&cr, allMaXAdd, vv)
 | 
				
			||||||
 | 
							}(v)
 | 
				
			||||||
 | 
							go func(vv *core.RedisConfig) {
 | 
				
			||||||
 | 
								allowed := os.Getenv("SARDINE_ACCEPTSERIES") == "true"
 | 
				
			||||||
 | 
								if !allowed {
 | 
				
			||||||
 | 
									return
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								core.LoopSubscribe(&cr, core.ALLSERIESINFO_PUBLISH, vv)
 | 
				
			||||||
 | 
							}(v)
 | 
				
			||||||
 | 
							//----------------------
 | 
				
			||||||
 | 
							go func(vv *core.RedisConfig) {
 | 
				
			||||||
 | 
								// core.(&cr, core.ALLSERIESINFO_PUBLISH, vv)
 | 
				
			||||||
 | 
								core.InvokeRestQueue(&cr, vv)
 | 
				
			||||||
 | 
							}(v)
 | 
				
			||||||
 | 
							break
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if !founded {
 | 
				
			||||||
 | 
							logrus.Panic("no remote redis connected")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						go func() {
 | 
				
			||||||
 | 
							core.LoopMakeMaX(&cr)
 | 
				
			||||||
 | 
						}()
 | 
				
			||||||
 | 
						go func() {
 | 
				
			||||||
 | 
							core.LoopCheckRemoteRedis(&cr)
 | 
				
			||||||
 | 
						}()
 | 
				
			||||||
 | 
						go func() {
 | 
				
			||||||
 | 
							core.CandlesProcess(&cr)
 | 
				
			||||||
 | 
						}()
 | 
				
			||||||
 | 
						go func() {
 | 
				
			||||||
 | 
							core.MaXsProcess(&cr)
 | 
				
			||||||
 | 
						}()
 | 
				
			||||||
 | 
						go func() {
 | 
				
			||||||
 | 
							core.TickerInfoProcess(&cr)
 | 
				
			||||||
 | 
						}()
 | 
				
			||||||
 | 
						go func() {
 | 
				
			||||||
 | 
							core.CoasterProcess(&cr)
 | 
				
			||||||
 | 
						}()
 | 
				
			||||||
 | 
						go func() {
 | 
				
			||||||
 | 
							core.SeriesProcess(&cr)
 | 
				
			||||||
 | 
						}()
 | 
				
			||||||
 | 
						go func() {
 | 
				
			||||||
 | 
							core.SegmentItemProcess(&cr)
 | 
				
			||||||
 | 
						}()
 | 
				
			||||||
 | 
						go func() {
 | 
				
			||||||
 | 
							core.ShearForceProcess(&cr)
 | 
				
			||||||
 | 
						}()
 | 
				
			||||||
 | 
						go func() {
 | 
				
			||||||
 | 
							core.WriteLogProcess(&cr)
 | 
				
			||||||
 | 
						}()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// ip := "0.0.0.0:6061"
 | 
				
			||||||
 | 
						// if err := http.ListenAndServe(ip, nil); err != nil {
 | 
				
			||||||
 | 
						// }
 | 
				
			||||||
 | 
						// allMaxs: {1634413398759-0 map[ma7|candle5m|LUNA-USDT|key:{"ts":1634412300000,"value":36.906796182686605}]}
 | 
				
			||||||
 | 
						// allCandles: {1634413398859-0 map[candle2H|XRP-USDT|key:{"channel":"candle2H","data":"eyJjIjoxLjExNzk1LCJmcm9tIjoicmVzdCIsImgiOjEuMTIyNzksImwiOjEuMTA4ODUsIm8iOjEuMTE3MzUsInRzIjoxNjM0MjkyMDAwMDAwLCJ2b2wiOjUwMDc5OTEuNDM5MDg1LCJ2b2xDY3kiOjU1OTE2MjUuNzI4NDc2fQ==","instId":"XRP-USDT"}]}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						time.Sleep(1000000 * time.Hour)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user