A method implemented by a computing system including one or more processors and storage media storing machine-readable instructions, wherein the method is performed using the one or more processors, the method comprising: maintaining an expiry dataset, wherein the expiry dataset includes information relating to expiration of a set of modules and the information includes a set of identifiers, a set of expiry values, and a set of termination tasks corresponding to the set of modules, and wherein: an identifier of the identifiers includes a value that identifies a module of the set of modules, an expiry value of the expiry values indicates whether to keep alive or terminate a module of the set of modules, the expiry value comprising a random number or a version number, and a termination task includes a task to terminate a module of the set of modules at a specific future time; the maintaining of the expiry dataset comprises storing the expiry value in a database and creating a copy of the expiry value; receiving a request to refresh a first module of the set of modules from a client; and responsive to the request, updating an expiry value and a termination task corresponding to the first module within the expiry dataset, wherein the updating of the expiry value comprises: incrementing the version number or inserting a new random number in the database; comparing the expiry value in the database to the copy of the expiry value; in response to determining that the expiry value in the database differs from the copy of the expiry value, determining that the expiry value has changed; determining whether the change in the expiry value has taken place within an expiry time; and in response to determining that the change in the expiry value has taken place within the expiry time, keeping the first module alive. an identifier of the identifiers includes a value that identifies a module of the set of modules, an expiry value of the expiry values indicates whether to keep alive or terminate a module of the set of modules, the expiry value comprising a random number or a version number, and a termination task includes a task to terminate a module of the set of modules at a specific future time; the maintaining of the expiry dataset comprises storing the expiry value in a database and creating a copy of the expiry value; receiving a request to refresh a first module of the set of modules from a client; and responsive to the request, updating an expiry value and a termination task corresponding to the first module within the expiry dataset, wherein the updating of the expiry value comprises: incrementing the version number or inserting a new random number in the database; comparing the expiry value in the database to the copy of the expiry value; in response to determining that the expiry value in the database differs from the copy of the expiry value, determining that the expiry value has changed; determining whether the change in the expiry value has taken place within an expiry time; and in response to determining that the change in the expiry value has taken place within the expiry time, keeping the first module alive. incrementing the version number or inserting a new random number in the database; comparing the expiry value in the database to the copy of the expiry value; in response to determining that the expiry value in the database differs from the copy of the expiry value, determining that the expiry value has changed; determining whether the change in the expiry value has taken place within an expiry time; and in response to determining that the change in the expiry value has taken place within the expiry time, keeping the first module alive.