Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
openresty
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tangku7
openresty
Commits
15622bfa
Commit
15622bfa
authored
Sep 10, 2018
by
周尚
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
optimize date2time
optimize ngx.timer
parent
956f2471
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
64 additions
and
40 deletions
+64
-40
nginx/lua/luabiz/settle.lua
nginx/lua/luabiz/settle.lua
+32
-24
nginx/lua/luabiz/tk_sdt.lua
nginx/lua/luabiz/tk_sdt.lua
+12
-12
nginx/lua/luabiz/zx_base.lua
nginx/lua/luabiz/zx_base.lua
+20
-4
No files found.
nginx/lua/luabiz/settle.lua
View file @
15622bfa
...
@@ -26,17 +26,21 @@ local tk_sync = loadmod('tk_sync')
...
@@ -26,17 +26,21 @@ local tk_sync = loadmod('tk_sync')
local
delay
=
5
-- delaytime
-- local delay = 5 -- delaytime
local
interval_time
=
'0030'
-- time to run, here is 12:00 for each day
-- -- local settledate = "2018-08-16"
-- local settledate = "2018-08-16"
local
settledate
=
os.date
(
'%Y-%m-%d'
,
os.time
())
-- local now_time = '0030' -- time to run, here is 12:00 for each day
local
settletime
=
zx_base
:
date2time
(
settledate
)
local
nxt_time
=
zx_base
:
date2time
(
os.date
(
"%Y-%m-%d 00:30:00"
,
os.time
()
+
24
*
60
*
60
))
local
now_time
=
os.time
();
local
delay
=
nxt_time
-
now_time
;
-- local settledate = os.date('%Y-%m-%d', os.time())
-- local now_time = zx_base:date2time(settledate)
local
handler
local
handler
handler
=
function
(
premature
,
interval_time
,
settle
time
)
handler
=
function
(
premature
,
now_
time
)
if
not
premature
then
if
not
premature
then
local
nowtime
=
os.date
(
"%H%M"
)
-- if nowtime == now_time then
if
nowtime
==
interval_time
then
-- settle features start
-- settle features start
...
@@ -59,25 +63,29 @@ handler = function(premature, interval_time, settletime)
...
@@ -59,25 +63,29 @@ handler = function(premature, interval_time, settletime)
-- node_smsvip: run()
-- node_smsvip: run()
-- node_vipacct: run()
-- node_vipacct: run()
--
tk_sync: run()
tk_sync
:
run
()
-- node_card: run(settle
time)
node_card
:
run
(
now_
time
)
-- node_ticket: run(settle
time)
node_ticket
:
run
(
now_
time
)
-- tk_sdt: run(settle
time)
tk_sdt
:
run
(
now_
time
)
local
handle
=
io.popen
(
"curl localhost:8080/settle"
)
--
local handle = io.popen("curl localhost:8080/settle")
if
handle
then
--
if handle then
handle
:
close
()
--
handle:close()
end
--
end
-- -- reset now_time
-- now_time = tostring(tonumber(now_time) - 1)
-- reset interval_time
interval_time
=
tostring
(
tonumber
(
interval_time
)
-
1
)
-- reset settle time
-- reset settle time
settledate
=
os.date
(
'%Y-%m-%d'
,
os.time
())
-- settledate = os.date('%Y-%m-%d', os.time())
settletime
=
zx_base
:
date2time
(
settledate
)
-- now_time = zx_base:date2time(settledate)
end
local
ok
,
err
=
ngx
.
timer
.
at
(
delay
,
handler
,
interval_time
,
settletime
)
-- end
-- nxt_time = zx_base:date2time(os.date("%Y-%m-%d 00:30:00", os.time()+24*60*60))
-- now_time = os.time();
-- delay = nxt_time - now_time;
local
ok
,
err
=
ngx
.
timer
.
every
(
24
*
60
*
60
,
handler
,
now_time
)
if
not
ok
then
if
not
ok
then
ngx
.
log
(
ngx
.
ERR
,
"failed to create the timer:"
,
err
)
ngx
.
log
(
ngx
.
ERR
,
"failed to create the timer:"
,
err
)
return
return
...
@@ -85,8 +93,8 @@ handler = function(premature, interval_time, settletime)
...
@@ -85,8 +93,8 @@ handler = function(premature, interval_time, settletime)
end
end
end
end
if
ngx
.
worker
.
id
()
==
1
then
if
ngx
.
worker
.
id
()
==
0
then
local
ok
,
err
=
ngx
.
timer
.
at
(
delay
,
handler
,
interval_time
,
settle
time
)
local
ok
,
err
=
ngx
.
timer
.
at
(
delay
,
handler
,
now_
time
)
if
not
ok
then
if
not
ok
then
ngx
.
log
(
ngx
.
ERR
,
"failed to create the timer:"
,
err
)
ngx
.
log
(
ngx
.
ERR
,
"failed to create the timer:"
,
err
)
return
return
...
...
nginx/lua/luabiz/tk_sdt.lua
View file @
15622bfa
...
@@ -22,7 +22,7 @@ local function sdt_sql(tk_biz, tk_control, total_time)
...
@@ -22,7 +22,7 @@ local function sdt_sql(tk_biz, tk_control, total_time)
-- 新建mysql连接
-- 新建mysql连接
local
db_biz
,
err
=
mysql
:
new
()
local
db_biz
,
err
=
mysql
:
new
()
if
not
db_biz
then
if
not
db_biz
then
zx_base
:
log
(
"S"
,
"failed to instantiate mysql: "
,
err
)
ngx
.
log
(
ngx
.
ERR
,
"failed to instantiate mysql: "
,
err
)
return
false
return
false
end
end
...
@@ -40,14 +40,14 @@ local function sdt_sql(tk_biz, tk_control, total_time)
...
@@ -40,14 +40,14 @@ local function sdt_sql(tk_biz, tk_control, total_time)
charset
=
'utf8'
charset
=
'utf8'
}
}
if
not
ok
then
if
not
ok
then
zx_base
:
log
(
"S"
,
json
.
encode
(
tk_biz
),
":"
,
err
,
errcode
,
sqlstate
)
ngx
.
log
(
ngx
.
ERR
,
json
.
encode
(
tk_biz
),
":"
,
err
,
errcode
,
sqlstate
)
return
return
end
end
-- 新建mysql连接
-- 新建mysql连接
local
db_control
,
err
=
mysql
:
new
()
local
db_control
,
err
=
mysql
:
new
()
if
not
db_control
then
if
not
db_control
then
zx_base
:
log
(
"S"
,
"failed to instantiate mysql: "
,
err
)
ngx
.
log
(
ngx
.
ERR
,
"failed to instantiate mysql: "
,
err
)
return
false
return
false
end
end
...
@@ -65,7 +65,7 @@ local function sdt_sql(tk_biz, tk_control, total_time)
...
@@ -65,7 +65,7 @@ local function sdt_sql(tk_biz, tk_control, total_time)
charset
=
'utf8'
charset
=
'utf8'
}
}
if
not
ok
then
if
not
ok
then
zx_base
:
log
(
"S"
,
json
.
encode
(
tk_control
),
":"
,
err
,
errcode
,
sqlstate
)
ngx
.
log
(
ngx
.
ERR
,
json
.
encode
(
tk_control
),
":"
,
err
,
errcode
,
sqlstate
)
return
return
end
end
...
@@ -77,7 +77,7 @@ local function sdt_sql(tk_biz, tk_control, total_time)
...
@@ -77,7 +77,7 @@ local function sdt_sql(tk_biz, tk_control, total_time)
shops
,
err
,
errcode
,
sqlstate
=
db_biz
:
query
(
sql_select
)
shops
,
err
,
errcode
,
sqlstate
=
db_biz
:
query
(
sql_select
)
ngx
.
log
(
ngx
.
NOTICE
,
sql_select
)
ngx
.
log
(
ngx
.
NOTICE
,
sql_select
)
if
not
shops
then
if
not
shops
then
zx_base
:
log
(
"S"
,
"failed to query:"
,
json
.
encode
(
tk_biz
),
":"
,
err
,
":"
,
errcode
,
":"
,
sqlstate
,
"."
)
ngx
.
log
(
ngx
.
ERR
,
"failed to query:"
,
json
.
encode
(
tk_biz
),
":"
,
err
,
":"
,
errcode
,
":"
,
sqlstate
,
"."
)
return
return
end
end
...
@@ -98,8 +98,8 @@ local function sdt_sql(tk_biz, tk_control, total_time)
...
@@ -98,8 +98,8 @@ local function sdt_sql(tk_biz, tk_control, total_time)
-- tostring(shop.shop_map_id))
-- tostring(shop.shop_map_id))
-- res, err, errcode, sqlstate = db_biz:query(sql_do)
-- res, err, errcode, sqlstate = db_biz:query(sql_do)
-- if not res then
-- if not res then
--
zx_base:log("S"
, "failed to connect:", json.encode(tk_biz), ":", err, ":", errcode, ":", sqlstate, ".")
--
ngx.log(ngx.ERR
, "failed to connect:", json.encode(tk_biz), ":", err, ":", errcode, ":", sqlstate, ".")
--
zx_base:log("S"
, sql_do)
--
ngx.log(ngx.ERR
, sql_do)
-- return
-- return
-- end
-- end
-- if #res ~= 0 then
-- if #res ~= 0 then
...
@@ -379,7 +379,7 @@ local function sdt_sql(tk_biz, tk_control, total_time)
...
@@ -379,7 +379,7 @@ local function sdt_sql(tk_biz, tk_control, total_time)
res
,
err
,
errcode
,
sqlstate
=
db_biz
:
query
(
table.concat
(
sql
))
res
,
err
,
errcode
,
sqlstate
=
db_biz
:
query
(
table.concat
(
sql
))
if
not
res
then
if
not
res
then
zx_base
:
log
(
"S"
,
"failed to query:"
,
json
.
encode
(
tk_biz
),
":"
,
err
,
":"
,
errcode
,
":"
,
sqlstate
,
"."
)
ngx
.
log
(
ngx
.
ERR
,
"failed to query:"
,
json
.
encode
(
tk_biz
),
":"
,
err
,
":"
,
errcode
,
":"
,
sqlstate
,
"."
)
return
return
end
end
...
@@ -404,8 +404,8 @@ local function sdt_sql(tk_biz, tk_control, total_time)
...
@@ -404,8 +404,8 @@ local function sdt_sql(tk_biz, tk_control, total_time)
-- repeat
-- repeat
res
,
err
,
errcode
,
sqlstate
=
db_biz
:
read_result
()
res
,
err
,
errcode
,
sqlstate
=
db_biz
:
read_result
()
if
not
res
then
if
not
res
then
zx_base
:
log
(
"S"
,
"bad sql: "
,
sql
[
j
])
ngx
.
log
(
ngx
.
ERR
,
"bad sql: "
,
sql
[
j
])
zx_base
:
log
(
"S"
,
"bad result #"
,
j
,
": "
,
err
,
": "
,
errcode
,
": "
,
sqlstate
,
"."
)
ngx
.
log
(
ngx
.
ERR
,
"bad result #"
,
j
,
": "
,
err
,
": "
,
errcode
,
": "
,
sqlstate
,
"."
)
return
ngx
.
exit
(
500
)
return
ngx
.
exit
(
500
)
end
end
...
@@ -542,7 +542,7 @@ local function sdt_sql(tk_biz, tk_control, total_time)
...
@@ -542,7 +542,7 @@ local function sdt_sql(tk_biz, tk_control, total_time)
res
,
err
,
errcode
,
sqlstate
=
db_biz
:
query
(
str
)
res
,
err
,
errcode
,
sqlstate
=
db_biz
:
query
(
str
)
ngx
.
log
(
ngx
.
NOTICE
,
str
)
ngx
.
log
(
ngx
.
NOTICE
,
str
)
if
not
res
then
if
not
res
then
zx_base
:
log
(
"S"
,
"failed to query:"
,
json
.
encode
(
tk_biz
),
ngx
.
log
(
ngx
.
ERR
,
"failed to query:"
,
json
.
encode
(
tk_biz
),
":"
,
err
,
":"
,
errcode
,
":"
,
sqlstate
,
"."
)
":"
,
err
,
":"
,
errcode
,
":"
,
sqlstate
,
"."
)
return
return
end
end
...
@@ -551,7 +551,7 @@ local function sdt_sql(tk_biz, tk_control, total_time)
...
@@ -551,7 +551,7 @@ local function sdt_sql(tk_biz, tk_control, total_time)
-- res, err, errcode, sqlstate = db_control:query(str)
-- res, err, errcode, sqlstate = db_control:query(str)
-- ngx.log(ngx.NOTICE, str)
-- ngx.log(ngx.NOTICE, str)
-- if not res then
-- if not res then
--
zx_base:log("S"
, "failed to query:", json.encode(tk_control),
--
ngx.log(ngx.ERR
, "failed to query:", json.encode(tk_control),
-- ":", err, ":", errcode, ":", sqlstate, ".")
-- ":", err, ":", errcode, ":", sqlstate, ".")
-- -- return
-- -- return
-- end
-- end
...
...
nginx/lua/luabiz/zx_base.lua
View file @
15622bfa
...
@@ -74,10 +74,26 @@ function ZX_BASE.tonumber(self, str)
...
@@ -74,10 +74,26 @@ function ZX_BASE.tonumber(self, str)
end
end
function
ZX_BASE
.
date2time
(
self
,
settletime
)
function
ZX_BASE
.
date2time
(
self
,
date
)
local
regex
=
[[(%d+)-(%d+)-(%d+)]]
-- function date2time(date)
local
y
,
m
,
d
=
settletime
:
match
(
regex
)
local
time
local
time
=
os.time
({
year
=
y
,
month
=
m
,
day
=
d
})
local
regex
local
y
,
m
,
d
,
H
,
M
,
S
regex
=
[[(%d+)-(%d+)-(%d+) (%d+):(%d+):(%d+)]]
y
,
m
,
d
,
H
,
M
,
S
=
date
:
match
(
regex
)
if
y
then
time
=
os.time
({
year
=
y
,
month
=
m
,
day
=
d
,
hour
=
H
,
min
=
M
,
sec
=
S
})
else
regex
=
[[(%d+)-(%d+)-(%d+)]]
y
,
m
,
d
=
date
:
match
(
regex
)
time
=
os.time
({
year
=
y
,
month
=
m
,
day
=
d
,
hour
=
0
,
min
=
0
,
sec
=
0
})
if
not
y
then
ngx
.
say
(
"invalid time format(%Y-%m-%d OR %Y-%m-%d %H:%M:%S)"
)
ngx
.
eof
()
return
nil
end
end
return
time
return
time
end
end
...
...
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