Merge branch 'develop' into refactor-channels
This commit is contained in:
commit
05beca9196
9 changed files with 742 additions and 94 deletions
|
|
@ -1033,7 +1033,7 @@ def uses_database(name="sqlite3"):
|
|||
|
||||
def delay(timedelay, callback, *args, **kwargs):
|
||||
"""
|
||||
Delay the return of a value.
|
||||
Delay the calling of a callback (function).
|
||||
|
||||
Args:
|
||||
timedelay (int or float): The delay in seconds
|
||||
|
|
@ -1041,24 +1041,35 @@ def delay(timedelay, callback, *args, **kwargs):
|
|||
after `timedelay` seconds.
|
||||
*args: Will be used as arguments to callback
|
||||
Keyword Args:
|
||||
persistent (bool): Make the delay persistent over a reboot or reload.
|
||||
any: Any other keywords will be use as keyword arguments to callback.
|
||||
persistent (bool, optional): Should make the delay persistent
|
||||
over a reboot or reload. Defaults to False.
|
||||
any (any): Will be used as keyword arguments to callback.
|
||||
|
||||
Returns:
|
||||
deferred: Will fire with callback after `timedelay` seconds. Note that
|
||||
if `timedelay()` is used in the
|
||||
commandhandler callback chain, the callback chain can be
|
||||
defined directly in the command body and don't need to be
|
||||
specified here.
|
||||
deferred or int: If ``persistent`` kwarg is `False`, return deferred
|
||||
that will fire with callback after `timedelay` seconds. Note that
|
||||
if `timedelay()` is used in the commandhandler callback chain, the
|
||||
callback chain can be defined directly in the command body and
|
||||
don't need to be specified here. Reference twisted.internet.defer.Deferred.
|
||||
If persistent kwarg is set, return the task's ID as an integer. This is
|
||||
intended for use with ``evennia.scripts.taskhandler.TASK_HANDLER``
|
||||
`.do_task` and `.remove` methods.
|
||||
|
||||
Notes:
|
||||
The task handler (`evennia.scripts.taskhandler.TASK_HANDLER`) will
|
||||
be called for persistent or non-persistent tasks.
|
||||
If persistent is set to True, the callback, its arguments
|
||||
and other keyword arguments will be saved in the database,
|
||||
and other keyword arguments will be saved (serialized) in the database,
|
||||
assuming they can be. The callback will be executed even after
|
||||
a server restart/reload, taking into account the specified delay
|
||||
(and server down time).
|
||||
Keep in mind that persistent tasks arguments and callback should not
|
||||
use memory references.
|
||||
If persistent is set to True the delay function will return an int
|
||||
which is the task's id itended for use with TASK_HANDLER's do_task
|
||||
and remove methods.
|
||||
|
||||
All task's whose time delays have passed will be called on server startup.
|
||||
|
||||
"""
|
||||
global _TASK_HANDLER
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue