Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
杨树贤
/
search_server
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
7f202186
authored
Nov 27, 2020
by
huangchengyi
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
1.0
parent
abbed5e0
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
26 deletions
doc/test/h2.go → doc/test/ws.go
service/ly/sourceability.go
doc/test/
h2
.go
→
doc/test/
ws
.go
View file @
7f202186
...
...
@@ -2,24 +2,28 @@ package main
import
(
"fmt"
"
github.com/syyongx/php2go
"
"
sync
"
)
var
wg
sync
.
WaitGroup
func
main
()
{
userCount
:=
10000
userCount
:=
1
ch
:=
make
(
chan
bool
,
2
)
for
i
:=
0
;
i
<
userCount
;
i
++
{
php2go
.
Time
()
wg
.
Add
(
1
)
//fmt.Println(i)
ch
<-
true
//fmt.Println("ddd")
go
send
(
ch
,
i
)
}
wg
.
Wait
()
//time.Sleep(time.Second)
}
func
send
(
ch
chan
bool
,
i
int
)
{
defer
wg
.
Done
()
//time.Sleep(time.Second*i)
fmt
.
Println
(
php2go
.
Time
()
)
fmt
.
Printf
(
"go func: %d
\n
"
,
i
)
fmt
.
Println
(
"dddd"
,
i
)
//
fmt.Printf("go func: %d\n", i)
<-
ch
}
service/ly/sourceability.go
View file @
7f202186
...
...
@@ -10,6 +10,7 @@ import (
"search_server/model"
"search_server/pkg/common"
"strings"
"sync"
"time"
)
...
...
@@ -62,7 +63,7 @@ const SourceSkuPriceUrl = "https://catalog.sourcengine.com/api/parts/%s/offers/s
请求外链
但是价格和库存有很多条记录,我们过滤掉交期大于14天的期货之后,找一条库存大于0,价格最便宜的一条记录作为这个SKU的价格和库存
*/
*/
func
OutLinkSource
(
ctx
*
gin
.
Context
,
goodsName
*
string
)
*
orderedmap
.
OrderedMap
{
if
*
goodsName
==
""
{
return
nil
...
...
@@ -84,7 +85,9 @@ func OutLinkSource(ctx *gin.Context,goodsName *string) *orderedmap.OrderedMap {
//协程并发请求
//接收通道所有的值
A
:=
orderedmap
.
New
()
ch
:=
make
(
chan
bool
,
1
)
wg
:=
sync
.
WaitGroup
{}
//协程等待
ch
:=
make
(
chan
bool
,
1
)
//管道
p
:=
0
;
for
_
,
a
:=
range
skuRsults
{
goods_sn
:=
a
.
Get
(
"sku"
)
.
String
()
//goods_sn
...
...
@@ -92,6 +95,7 @@ func OutLinkSource(ctx *gin.Context,goodsName *string) *orderedmap.OrderedMap {
brand_name
:=
a
.
Get
(
"manufacturer"
)
.
String
()
//品牌
desc
:=
a
.
Get
(
"description"
)
.
String
()
//描述
wg
.
Add
(
1
)
ch
<-
true
go
func
()
{
B
:=
orderedmap
.
New
()
...
...
@@ -99,7 +103,7 @@ func OutLinkSource(ctx *gin.Context,goodsName *string) *orderedmap.OrderedMap {
B
.
Set
(
"goods_name"
,
goods_name
)
B
.
Set
(
"brand_name"
,
brand_name
)
B
.
Set
(
"desc"
,
desc
)
flag
:=
GetSourceInfo
(
ctx
,
B
)
flag
:=
GetSourceInfo
(
ctx
,
B
,
&
wg
)
//res,_ := json.Marshal(A)
if
flag
{
A
.
Set
(
goods_sn
,
B
)
...
...
@@ -109,27 +113,14 @@ func OutLinkSource(ctx *gin.Context,goodsName *string) *orderedmap.OrderedMap {
p
++
;
}
wg
.
Wait
()
//接收通道所有的值
//A := orderedmap.New();
//for i := 0; i < p; i++ {
// select {
// case x := <-ch:
// if x == nil {
// continue
// }
// goods_sn,_ := x.Get("goods_sn")
// A.Set(gconv.String(goods_sn),x)
// case <- time.After(time.Second *2):
// fmt.Println("超时退出等待")
// }
//}
//allRes,_ := json.Marshal(A)
return
A
;
}
//请求价格和库存
func
GetSourceInfo
(
ctx
*
gin
.
Context
,
B
*
orderedmap
.
OrderedMap
)
bool
{
func
GetSourceInfo
(
ctx
*
gin
.
Context
,
B
*
orderedmap
.
OrderedMap
,
wg
*
sync
.
WaitGroup
)
bool
{
defer
wg
.
Done
()
goods_sn
,
_
:=
B
.
Get
(
"goods_sn"
)
skuInfo
:=
GetSourceGineData
(
ctx
,
fmt
.
Sprintf
(
SourceSkuPriceUrl
,
goods_sn
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment