Comparison

prosodyctl @ 13167:6226f75f55a7

prosodyctl: Add experimental way to reload specific modules directly Mostly thinking out loud about how various actions may use the shell This enables the following sequence of commands: prosodyctl install mod_example prosodyctl reload mod_example which is simpler than prosodyctl shell module reload example
author Kim Alvefur <zash@zash.se>
date Sun, 25 Jun 2023 17:34:13 +0200
parent 13059:a47bd6ea7626
comparison
equal deleted inserted replaced
13166:e6e76f64ebb6 13167:6226f75f55a7
563 if opts.help then 563 if opts.help then
564 show_usage([[reload]], [[Reload Prosody's configuration and re-open log files]]); 564 show_usage([[reload]], [[Reload Prosody's configuration and re-open log files]]);
565 return 0; 565 return 0;
566 end 566 end
567 567
568 if arg[1] and arg[1]:match"^mod_" then
569 -- TODO reword the usage text, document
570 local shell = require "prosody.util.prosodyctl.shell";
571 arg[1] = arg[1]:match("^mod_(.*)"); -- strip mod_ prefix
572 table.insert(arg, 1, "module");
573 table.insert(arg, 2, "reload");
574 return shell.shell(arg);
575 end
576
568 service_command_warning("reload"); 577 service_command_warning("reload");
569 578
570 if not prosodyctl.isrunning() then 579 if not prosodyctl.isrunning() then
571 show_message("Prosody is not running"); 580 show_message("Prosody is not running");
572 return 1; 581 return 1;