mysqlproxy.lua
723 Bytes
local skynet = require "skynet"
require "utils.init"
local mysqld_count = tonumber(skynet.getenv("thread"))
local mysqld
skynet.init(function()
local idx = math.randomInt(1, mysqld_count)
mysqld = skynet.localname(".mysql" .. idx)
end)
local table_insert = table.insert
local mysqlproxy = {}
setmetatable(mysqlproxy, { __index = function(t, k)
local cmd = string.upper(k)
local f = function (self, ...)
if k == "query" then
--print(...)
end
local ok, result = pcall(skynet.call, mysqld, "lua", cmd, ...)
if not ok then
skynet.error(cmd, ..., "\n", debug.traceback(coroutine.running(), nil))
return
end
return result
end
t[k] = f
return f
end})
return mysqlproxy