diff options
-rw-r--r-- | src/controller.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/controller.c b/src/controller.c index 4050ed13c..b8eface74 100644 --- a/src/controller.c +++ b/src/controller.c @@ -3914,6 +3914,14 @@ start_controller_worker (struct rspamd_worker *worker) rspamd_map_watch (worker->srv->cfg, ctx->ev_base, ctx->resolver, worker, TRUE); + + /* Schedule periodic stats saving, see #1823 */ + event_set (&ctx->save_stats_event, -1, EV_PERSIST, + rspamd_controller_stats_save_periodic, + ctx); + event_base_set (ctx->ev_base, &ctx->save_stats_event); + msec_to_tv (save_stats_interval, &stv); + evtimer_add (&ctx->save_stats_event, &stv); } else { rspamd_map_watch (worker->srv->cfg, ctx->ev_base, @@ -3922,13 +3930,6 @@ start_controller_worker (struct rspamd_worker *worker) rspamd_lua_run_postloads (ctx->cfg->lua_state, ctx->cfg, ctx->ev_base, worker); - /* Schedule periodic stats saving, see #1823 */ - evtimer_set (&ctx->save_stats_event, rspamd_controller_stats_save_periodic, - ctx); - event_base_set (ctx->ev_base, &ctx->save_stats_event); - msec_to_tv (save_stats_interval, &stv); - evtimer_add (&ctx->save_stats_event, &stv); - /* Start event loop */ event_base_loop (ctx->ev_base, 0); rspamd_worker_block_signals (); |