mirror of
https://github.com/evennia/evennia.git
synced 2026-03-18 22:06:30 +01:00
199 lines
No EOL
11 KiB
HTML
199 lines
No EOL
11 KiB
HTML
|
||
<!DOCTYPE html>
|
||
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>evennia.scripts.taskhandler — Evennia 1.0-dev documentation</title>
|
||
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||
<script src="../_static/jquery.js"></script>
|
||
<script src="../_static/underscore.js"></script>
|
||
<script src="../_static/doctools.js"></script>
|
||
<script src="../_static/language_data.js"></script>
|
||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||
<link rel="index" title="Index" href="../genindex.html" />
|
||
<link rel="search" title="Search" href="../search.html" />
|
||
</head><body>
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="../genindex.html" title="General Index"
|
||
accesskey="I">index</a></li>
|
||
<li class="right" >
|
||
<a href="../py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">evennia.scripts.taskhandler</a></li>
|
||
</ul>
|
||
<div class="develop">develop branch</div>
|
||
</div>
|
||
|
||
<div class="document">
|
||
<div class="documentwrapper">
|
||
<div class="bodywrapper">
|
||
<div class="body" role="main">
|
||
|
||
<div class="section" id="module-evennia.scripts.taskhandler">
|
||
<span id="evennia-scripts-taskhandler"></span><h1>evennia.scripts.taskhandler<a class="headerlink" href="#module-evennia.scripts.taskhandler" title="Permalink to this headline">¶</a></h1>
|
||
<p>Module containing the task handler for Evennia deferred tasks, persistent or not.</p>
|
||
<dl class="py class">
|
||
<dt id="evennia.scripts.taskhandler.TaskHandler">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.scripts.taskhandler.</code><code class="sig-name descname">TaskHandler</code><a class="reference internal" href="../_modules/evennia/scripts/taskhandler.html#TaskHandler"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.taskhandler.TaskHandler" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>A light singleton wrapper allowing to access permanent tasks.</p>
|
||
<p>When <strong>utils.delay</strong> is called, the task handler is used to create
|
||
the task. If <strong>utils.delay</strong> is called with <strong>persistent=True</strong>, the
|
||
task handler stores the new task and saves.</p>
|
||
<p>It’s easier to access these tasks (should it be necessary) using
|
||
<strong>evennia.scripts.taskhandler.TASK_HANDLER</strong>, which contains one
|
||
instance of this class, and use its <strong>add</strong> and <strong>remove</strong> methods.</p>
|
||
<dl class="py method">
|
||
<dt id="evennia.scripts.taskhandler.TaskHandler.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/taskhandler.html#TaskHandler.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.taskhandler.TaskHandler.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.scripts.taskhandler.TaskHandler.load">
|
||
<code class="sig-name descname">load</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/taskhandler.html#TaskHandler.load"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.taskhandler.TaskHandler.load" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Load from the ServerConfig.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>This should be automatically called when Evennia starts.
|
||
It populates <strong>self.tasks</strong> according to the ServerConfig.</p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.scripts.taskhandler.TaskHandler.save">
|
||
<code class="sig-name descname">save</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/taskhandler.html#TaskHandler.save"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.taskhandler.TaskHandler.save" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Save the tasks in ServerConfig.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.scripts.taskhandler.TaskHandler.add">
|
||
<code class="sig-name descname">add</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">timedelay</span></em>, <em class="sig-param"><span class="n">callback</span></em>, <em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/taskhandler.html#TaskHandler.add"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.taskhandler.TaskHandler.add" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Add a new persistent task in the configuration.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>timedelay</strong> (<em>int</em><em> or </em><em>float</em>) – time in sedconds before calling the callback.</p></li>
|
||
<li><p><strong>callback</strong> (<em>function</em><em> or </em><em>instance method</em>) – the callback itself</p></li>
|
||
<li><p><strong>any</strong> (<em>any</em>) – any additional positional arguments to send to the callback</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Keyword Arguments</dt>
|
||
<dd class="field-even"><ul class="simple">
|
||
<li><p><strong>persistent</strong> (<em>bool</em><em>, </em><em>optional</em>) – persist the task (store it).</p></li>
|
||
<li><p><strong>any</strong> (<em>any</em>) – additional keyword arguments to send to the callback</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.scripts.taskhandler.TaskHandler.remove">
|
||
<code class="sig-name descname">remove</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">task_id</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/taskhandler.html#TaskHandler.remove"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.taskhandler.TaskHandler.remove" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Remove a persistent task without executing it.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>task_id</strong> (<em>int</em>) – an existing task ID.</p>
|
||
</dd>
|
||
</dl>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>A non-persistent task doesn’t have a task_id, it is not stored
|
||
in the TaskHandler.</p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.scripts.taskhandler.TaskHandler.do_task">
|
||
<code class="sig-name descname">do_task</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">task_id</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/taskhandler.html#TaskHandler.do_task"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.taskhandler.TaskHandler.do_task" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Execute the task (call its callback).</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>task_id</strong> (<em>int</em>) – a valid task ID.</p>
|
||
</dd>
|
||
</dl>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>This will also remove it from the list of current tasks.</p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.scripts.taskhandler.TaskHandler.create_delays">
|
||
<code class="sig-name descname">create_delays</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/taskhandler.html#TaskHandler.create_delays"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.taskhandler.TaskHandler.create_delays" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Create the delayed tasks for the persistent tasks.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>This method should be automatically called when Evennia starts.</p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
|
||
|
||
<div class="clearer"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||
<div class="sphinxsidebarwrapper">
|
||
<p class="logo"><a href="../index.html">
|
||
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
|
||
</a></p>
|
||
<div id="searchbox" style="display: none" role="search">
|
||
<h3 id="searchlabel">Quick search</h3>
|
||
<div class="searchformwrapper">
|
||
<form class="search" action="../search.html" method="get">
|
||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||
<input type="submit" value="Go" />
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<script>$('#searchbox').show(0);</script>
|
||
<div role="note" aria-label="source link">
|
||
<!--h3>This Page</h3-->
|
||
<ul class="this-page-menu">
|
||
<li><a href="../_sources/api/evennia.scripts.taskhandler.rst.txt"
|
||
rel="nofollow">Show Page Source</a></li>
|
||
</ul>
|
||
</div>
|
||
<h3>Versions</h3>
|
||
<ul>
|
||
<li><a href="evennia.scripts.taskhandler.html">1.0-dev (develop branch)</a></li>
|
||
<li><a href="../../0.9.5/api/evennia.scripts.taskhandler.html">0.9.5 (v0.9.5 branch)</a></li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="clearer"></div>
|
||
</div>
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="../genindex.html" title="General Index"
|
||
>index</a></li>
|
||
<li class="right" >
|
||
<a href="../py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">evennia.scripts.taskhandler</a></li>
|
||
</ul>
|
||
<div class="develop">develop branch</div>
|
||
</div>
|
||
<div class="footer" role="contentinfo">
|
||
© Copyright 2020, The Evennia developer community.
|
||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||
</div>
|
||
</body>
|
||
</html> |