dbseed.lua 1.36 KB
require "csvdata.init"
require "shared.init"
require "utils.init"
require "GlobalVar"
require "RedisKeys"
require "ProtocolCode"
require "skynet.manager"
local harbor = require "skynet.harbor"

skynet = require "skynet"

redisproxy = require("shared.redisproxy")
globalCsv = require "csvdata/GlobalDefine"

SendPacket = function ( ... ) end

local function initRedisDb( ... )
	local servId = tonumber(skynet.getenv("servId"))
	if servId then
		redisproxy:hsetnx("autoincrement_set", "role", servId * MAX_ROLE_NUM)
		redisproxy:hsetnx("autoincrement_set", "union", servId * MAX_ROLE_NUM)
		redisproxy:hsetnx("autoincrement_set", "trade", servId * MAX_ROLE_NUM * 100)
		redisproxy:hsetnx("autoincrement_set", "email", 0)
		redisproxy:hsetnx("autoincrement_set", "emailTimestamp", 0)
		redisproxy:hsetnx("autoincrement_set", "delay_email", 0)
	end
end

local steps = {
	[1] = {
		handler = initRedisDb,
		desc = "initialize redis database "
	}
}

skynet.start(function ()
	redisd = harbor.queryname("REDIS")

	redisproxy = require("shared.redisproxy")

	local new = redisproxy:hsetnx("autoincrement_set", "server_start", os.date("%Y%m%d", skynet.timex()))
	if not new then
		print("server has been initialized...")
		skynet.exit()
		return
	end

	for _, action in ipairs(steps) do
		print(action.desc .. "start ...")
		action.handler()
		print(action.desc .. "finished ...")
	end
	skynet.exit()
end)