view mod_host_status_heartbeat/mod_host_status_heartbeat.lua @ 2670:6e01878103c0

mod_smacks: Ignore user when writing or reading session_cache on prosody 0.9 At least under some circumstances it seems that session.username is nil when a user tries to resume his session in prosody 0.9. The username is not relevant when no limiting is done (limiting the number of entries in the session cache is only possible in prosody 0.10), so this commit removes the usage of the username when accessing the prosody 0.9 session cache.
author tmolitor <thilo@eightysoft.de>
date Thu, 06 Apr 2017 02:12:14 +0200
parents 7f955f92bbbb
children
line wrap: on
line source

local st = require "util.stanza";
local time = require "socket".gettime;

local heartbeat_interval = module:get_option_number("status_check_heartbeat_interval", 5);
local heartbeat_mode = module:get_option_string("status_check_heartbeat_mode", "remote");

local local_heartbeats = module:shared("/*/host_status_check/heartbeats");

local heartbeat_methods = {
	["local"] = function()
		module:log("debug", "Local heartbeat");
		local_heartbeats[module.host] = time();
		return heartbeat_interval;
	end;

	["remote"] = function ()
		module:fire_event("route/remote", {
			origin = prosody.hosts[module.host];
			stanza = st.stanza("heartbeat", { xmlns = "xmpp:prosody.im/heartbeat" });
		});
		return heartbeat_interval;
	end;		
}

local send_heartbeat = assert(heartbeat_methods[heartbeat_mode], "Unknown heartbeat_mode: "..heartbeat_mode);

module:add_timer(0, send_heartbeat);