42 lines
1.2 KiB
Lua
42 lines
1.2 KiB
Lua
require("kong.globalpatches")({cli = true})
|
|
|
|
math.randomseed() -- Generate PRNG seed
|
|
|
|
local pl_app = require "pl.lapp"
|
|
local log = require "kong.cmd.utils.log"
|
|
local timer = require "kong.cmd.utils.timer"
|
|
|
|
return function(cmd_name, args)
|
|
local cmd = require("kong.cmd." .. cmd_name)
|
|
local cmd_exec = cmd.execute
|
|
|
|
-- verbose mode
|
|
if args.v then
|
|
log.set_lvl(log.levels.verbose)
|
|
elseif args.vv then
|
|
log.set_lvl(log.levels.debug)
|
|
end
|
|
|
|
log.verbose("Kong: %s", _KONG._VERSION)
|
|
log.debug("ngx_lua: %s", ngx.config.ngx_lua_version)
|
|
log.debug("nginx: %s", ngx.config.nginx_version)
|
|
log.debug("Lua: %s", jit and jit.version or _VERSION)
|
|
|
|
xpcall(function() cmd_exec(args) end, function(err)
|
|
if not (args.v or args.vv) then
|
|
err = err:match "^.-:.-:.(.*)$"
|
|
io.stderr:write("Error: " .. err .. "\n")
|
|
io.stderr:write("\n Run with --v (verbose) or --vv (debug) for more details\n")
|
|
else
|
|
local trace = debug.traceback(err, 2)
|
|
io.stderr:write("Error: \n")
|
|
io.stderr:write(trace .. "\n")
|
|
end
|
|
|
|
pl_app.quit(nil, true)
|
|
end)
|
|
|
|
-- shutdown lua-resty-timer-ng to allow the nginx worker to stop quickly
|
|
timer.shutdown()
|
|
end
|