Software /
code /
prosody
Comparison
core/moduleapi.lua @ 13015:46c05c2e34f7
moduleapi: Add module:once() to execute a function after module load/startup
It is a common pattern for modules to do something like check for
prosody.start_time, and execute code immediately if it is present, or wait for
the server-started event if it isn't yet. For example, this allows you to run
code after all other modules/hosts have been loaded, that are going to be
loaded.
Such code can now be replaced with a simple call to this method.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sat, 01 Apr 2023 11:59:50 +0100 |
parent | 12995:e385f3a06673 |
child | 13016:8aec903ea888 |
comparison
equal
deleted
inserted
replaced
13014:06453c564141 | 13015:46c05c2e34f7 |
---|---|
691 end | 691 end |
692 return permit; | 692 return permit; |
693 end | 693 end |
694 end | 694 end |
695 | 695 |
696 -- Execute a function, once, but only after startup is complete | |
697 function api:once(f) | |
698 return prosody.started:next(f); | |
699 end | |
700 | |
696 return api; | 701 return api; |