File

mod_host_status_heartbeat/mod_host_status_heartbeat.lua @ 4282:281a864e7472

mod_pubsub_feeds: Don't skip publishing items after an existing one I encountered a feed which was backwards, such that older entries were considered first and then it would skip newer entries. This may however run into trouble if the feed contains more items than what's persisted in pubsub.
author Kim Alvefur <zash@zash.se>
date Mon, 30 Nov 2020 15:17:29 +0100
parent 2220:7f955f92bbbb
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);