Mercurial > prosody-hg
comparison plugins/mod_mam/mod_mam.lua @ 9757:03ed7f10d8da
mod_mam: Measure how long it takes to run the message expiry job job
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sun, 06 Jan 2019 09:34:59 +0100 |
| parents | 5cc2765c3ce4 |
| children | d4a534e6bd7c |
comparison
equal
deleted
inserted
replaced
| 9756:38f7bde4cfe0 | 9757:03ed7f10d8da |
|---|---|
| 349 -- outside the cleanup range. | 349 -- outside the cleanup range. |
| 350 | 350 |
| 351 function schedule_cleanup(username, date) | 351 function schedule_cleanup(username, date) |
| 352 cleanup_map:set(date or datestamp(), username, true); | 352 cleanup_map:set(date or datestamp(), username, true); |
| 353 end | 353 end |
| 354 local cleanup_time = module:measure("cleanup", "times"); | |
| 354 | 355 |
| 355 cleanup_runner = require "util.async".runner(function () | 356 cleanup_runner = require "util.async".runner(function () |
| 357 local cleanup_done = cleanup_time(); | |
| 356 local users = {}; | 358 local users = {}; |
| 357 local cut_off = datestamp(os.time() - cleanup_after); | 359 local cut_off = datestamp(os.time() - cleanup_after); |
| 358 for date in cleanup_storage:users() do | 360 for date in cleanup_storage:users() do |
| 359 if date < cut_off then | 361 if date < cut_off then |
| 360 module:log("debug", "Messages from %q should be expired", date); | 362 module:log("debug", "Messages from %q should be expired", date); |
| 374 num_users = num_users + 1; | 376 num_users = num_users + 1; |
| 375 sum = sum + tonumber(ok) or 0; | 377 sum = sum + tonumber(ok) or 0; |
| 376 end | 378 end |
| 377 end | 379 end |
| 378 module:log("info", "Deleted %d expired messages for %d users", sum, num_users); | 380 module:log("info", "Deleted %d expired messages for %d users", sum, num_users); |
| 381 cleanup_done(); | |
| 379 end); | 382 end); |
| 380 | 383 |
| 381 cleanup_task = module:add_timer(1, function () | 384 cleanup_task = module:add_timer(1, function () |
| 382 cleanup_runner:run(true); | 385 cleanup_runner:run(true); |
| 383 return cleanup_interval; | 386 return cleanup_interval; |
