annotate mod_log_mark/mod_log_mark.lua @ 5536:96dec7681af8

mod_firewall: Update user marks to store instantly via map store The original approach was to keep marks in memory only, and persist them at shutdown. That saves I/O, at the cost of potentially losing marks on an unclean shutdown. This change persists marks instantly, which may have some performance overhead but should be more "correct". It also splits the marking/unmarking into an event which may be watched or even fired by other modules.
author Matthew Wild <mwild1@gmail.com>
date Thu, 08 Jun 2023 16:20:42 +0100
parents 7be158b3376f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2173
d15df55f0a63 mod_log_mark: Make a global module (should only be loaded once anyways)
Kim Alvefur <zash@zash.se>
parents: 1869
diff changeset
1 module:set_global();
d15df55f0a63 mod_log_mark: Make a global module (should only be loaded once anyways)
Kim Alvefur <zash@zash.se>
parents: 1869
diff changeset
2
1869
02390829df1a mod_log_mark: Module that sends a line to the log once per minute
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 local log = _G.log;
02390829df1a mod_log_mark: Module that sends a line to the log once per minute
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
2174
7be158b3376f mod_log_mark: Try to prevent timer drift
Kim Alvefur <zash@zash.se>
parents: 2173
diff changeset
5 module:add_timer(60-os.date("%S"), function (now)
1869
02390829df1a mod_log_mark: Module that sends a line to the log once per minute
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 log("info", "-- MARK --");
2174
7be158b3376f mod_log_mark: Try to prevent timer drift
Kim Alvefur <zash@zash.se>
parents: 2173
diff changeset
7 return 90 - ((now + 30) % 60);
1869
02390829df1a mod_log_mark: Module that sends a line to the log once per minute
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 end);