2024-08-29 14:24:11 +08:00
|
|
|
|
import{_ as n,o as s,c as a,e}from"./app-gnbtOU7f.js";const t={},o=e(`<h3 id="class-lifespan" tabindex="-1"><a class="header-anchor" href="#class-lifespan"><span><strong>class</strong> <code>Lifespan</code></span></a></h3><h3 id="method-init-self-none" tabindex="-1"><a class="header-anchor" href="#method-init-self-none"><span><em>method</em> <code>__init__(self) -> None</code></span></a></h3><p><strong>Description</strong>: 轻雪生命周期管理,启动、停止、重启</p><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">def</span> <span class="token function">__init__</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> <span class="token boolean">None</span><span class="token punctuation">:</span>
|
2024-08-29 13:53:08 +08:00
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
轻雪生命周期管理,启动、停止、重启
|
|
|
|
|
"""</span>
|
|
|
|
|
self<span class="token punctuation">.</span>life_flag<span class="token punctuation">:</span> <span class="token builtin">int</span> <span class="token operator">=</span> <span class="token number">0</span>
|
|
|
|
|
self<span class="token punctuation">.</span>_before_start_funcs<span class="token punctuation">:</span> <span class="token builtin">list</span><span class="token punctuation">[</span>LIFESPAN_FUNC<span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span>
|
|
|
|
|
self<span class="token punctuation">.</span>_after_start_funcs<span class="token punctuation">:</span> <span class="token builtin">list</span><span class="token punctuation">[</span>LIFESPAN_FUNC<span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span>
|
|
|
|
|
self<span class="token punctuation">.</span>_before_process_shutdown_funcs<span class="token punctuation">:</span> <span class="token builtin">list</span><span class="token punctuation">[</span>LIFESPAN_FUNC<span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span>
|
|
|
|
|
self<span class="token punctuation">.</span>_after_shutdown_funcs<span class="token punctuation">:</span> <span class="token builtin">list</span><span class="token punctuation">[</span>LIFESPAN_FUNC<span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span>
|
|
|
|
|
self<span class="token punctuation">.</span>_before_process_restart_funcs<span class="token punctuation">:</span> <span class="token builtin">list</span><span class="token punctuation">[</span>LIFESPAN_FUNC<span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span>
|
|
|
|
|
self<span class="token punctuation">.</span>_after_restart_funcs<span class="token punctuation">:</span> <span class="token builtin">list</span><span class="token punctuation">[</span>LIFESPAN_FUNC<span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span>
|
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="staticmethod" tabindex="-1"><a class="header-anchor" href="#staticmethod"><span><code>@staticmethod</code></span></a></h3><h3 id="async-method-run-funcs-funcs-list-async-lifespan-func-process-lifespan-func-none" tabindex="-1"><a class="header-anchor" href="#async-method-run-funcs-funcs-list-async-lifespan-func-process-lifespan-func-none"><span><em>async method</em> <code>run_funcs(funcs: list[ASYNC_LIFESPAN_FUNC | PROCESS_LIFESPAN_FUNC]) -> None</code></span></a></h3><p><strong>Description</strong>: 并发运行异步函数</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>funcs:</li></ul></blockquote><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token decorator annotation punctuation">@staticmethod</span>
|
|
|
|
|
<span class="token keyword">async</span> <span class="token keyword">def</span> <span class="token function">run_funcs</span><span class="token punctuation">(</span>funcs<span class="token punctuation">:</span> <span class="token builtin">list</span><span class="token punctuation">[</span>ASYNC_LIFESPAN_FUNC <span class="token operator">|</span> PROCESS_LIFESPAN_FUNC<span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token operator">*</span>args<span class="token punctuation">,</span> <span class="token operator">**</span>kwargs<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> <span class="token boolean">None</span><span class="token punctuation">:</span>
|
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
并发运行异步函数
|
|
|
|
|
Args:
|
|
|
|
|
funcs:
|
|
|
|
|
Returns:
|
|
|
|
|
"""</span>
|
|
|
|
|
loop <span class="token operator">=</span> asyncio<span class="token punctuation">.</span>get_running_loop<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
|
|
tasks <span class="token operator">=</span> <span class="token punctuation">[</span>func<span class="token punctuation">(</span><span class="token operator">*</span>args<span class="token punctuation">,</span> <span class="token operator">**</span>kwargs<span class="token punctuation">)</span> <span class="token keyword">if</span> is_coroutine_callable<span class="token punctuation">(</span>func<span class="token punctuation">)</span> <span class="token keyword">else</span> async_wrapper<span class="token punctuation">(</span>func<span class="token punctuation">)</span><span class="token punctuation">(</span><span class="token operator">*</span>args<span class="token punctuation">,</span> <span class="token operator">**</span>kwargs<span class="token punctuation">)</span> <span class="token keyword">for</span> func <span class="token keyword">in</span> funcs<span class="token punctuation">]</span>
|
|
|
|
|
<span class="token keyword">await</span> asyncio<span class="token punctuation">.</span>gather<span class="token punctuation">(</span><span class="token operator">*</span>tasks<span class="token punctuation">)</span>
|
2024-08-29 14:21:20 +08:00
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="method-on-before-start-self-func-lifespan-func-lifespan-func" tabindex="-1"><a class="header-anchor" href="#method-on-before-start-self-func-lifespan-func-lifespan-func"><span><em>method</em> <code>on_before_start(self, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC</code></span></a></h3><p><strong>Description</strong>: 注册启动时的函数</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>func:</li></ul></blockquote><p><strong>Return</strong>: LIFESPAN_FUNC:</p><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">def</span> <span class="token function">on_before_start</span><span class="token punctuation">(</span>self<span class="token punctuation">,</span> func<span class="token punctuation">:</span> LIFESPAN_FUNC<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> LIFESPAN_FUNC<span class="token punctuation">:</span>
|
2024-08-29 13:53:08 +08:00
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
注册启动时的函数
|
|
|
|
|
Args:
|
|
|
|
|
func:
|
|
|
|
|
Returns:
|
|
|
|
|
LIFESPAN_FUNC:
|
|
|
|
|
"""</span>
|
|
|
|
|
self<span class="token punctuation">.</span>_before_start_funcs<span class="token punctuation">.</span>append<span class="token punctuation">(</span>func<span class="token punctuation">)</span>
|
|
|
|
|
<span class="token keyword">return</span> func
|
2024-08-29 14:21:20 +08:00
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="method-on-after-start-self-func-lifespan-func-lifespan-func" tabindex="-1"><a class="header-anchor" href="#method-on-after-start-self-func-lifespan-func-lifespan-func"><span><em>method</em> <code>on_after_start(self, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC</code></span></a></h3><p><strong>Description</strong>: 注册启动时的函数</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>func:</li></ul></blockquote><p><strong>Return</strong>: LIFESPAN_FUNC:</p><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">def</span> <span class="token function">on_after_start</span><span class="token punctuation">(</span>self<span class="token punctuation">,</span> func<span class="token punctuation">:</span> LIFESPAN_FUNC<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> LIFESPAN_FUNC<span class="token punctuation">:</span>
|
2024-08-29 13:53:08 +08:00
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
注册启动时的函数
|
|
|
|
|
Args:
|
|
|
|
|
func:
|
|
|
|
|
Returns:
|
|
|
|
|
LIFESPAN_FUNC:
|
|
|
|
|
"""</span>
|
|
|
|
|
self<span class="token punctuation">.</span>_after_start_funcs<span class="token punctuation">.</span>append<span class="token punctuation">(</span>func<span class="token punctuation">)</span>
|
|
|
|
|
<span class="token keyword">return</span> func
|
2024-08-29 14:21:20 +08:00
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="method-on-before-process-shutdown-self-func-lifespan-func-lifespan-func" tabindex="-1"><a class="header-anchor" href="#method-on-before-process-shutdown-self-func-lifespan-func-lifespan-func"><span><em>method</em> <code>on_before_process_shutdown(self, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC</code></span></a></h3><p><strong>Description</strong>: 注册停止前的函数</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>func:</li></ul></blockquote><p><strong>Return</strong>: LIFESPAN_FUNC:</p><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">def</span> <span class="token function">on_before_process_shutdown</span><span class="token punctuation">(</span>self<span class="token punctuation">,</span> func<span class="token punctuation">:</span> LIFESPAN_FUNC<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> LIFESPAN_FUNC<span class="token punctuation">:</span>
|
2024-08-29 13:53:08 +08:00
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
注册停止前的函数
|
|
|
|
|
Args:
|
|
|
|
|
func:
|
|
|
|
|
Returns:
|
|
|
|
|
LIFESPAN_FUNC:
|
|
|
|
|
"""</span>
|
|
|
|
|
self<span class="token punctuation">.</span>_before_process_shutdown_funcs<span class="token punctuation">.</span>append<span class="token punctuation">(</span>func<span class="token punctuation">)</span>
|
|
|
|
|
<span class="token keyword">return</span> func
|
2024-08-29 14:21:20 +08:00
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="method-on-after-shutdown-self-func-lifespan-func-lifespan-func" tabindex="-1"><a class="header-anchor" href="#method-on-after-shutdown-self-func-lifespan-func-lifespan-func"><span><em>method</em> <code>on_after_shutdown(self, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC</code></span></a></h3><p><strong>Description</strong>: 注册停止后的函数</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>func:</li></ul></blockquote><p><strong>Return</strong>: LIFESPAN_FUNC:</p><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">def</span> <span class="token function">on_after_shutdown</span><span class="token punctuation">(</span>self<span class="token punctuation">,</span> func<span class="token punctuation">:</span> LIFESPAN_FUNC<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> LIFESPAN_FUNC<span class="token punctuation">:</span>
|
2024-08-29 13:53:08 +08:00
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
注册停止后的函数
|
|
|
|
|
Args:
|
|
|
|
|
func:
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
LIFESPAN_FUNC:
|
|
|
|
|
|
|
|
|
|
"""</span>
|
|
|
|
|
self<span class="token punctuation">.</span>_after_shutdown_funcs<span class="token punctuation">.</span>append<span class="token punctuation">(</span>func<span class="token punctuation">)</span>
|
|
|
|
|
<span class="token keyword">return</span> func
|
2024-08-29 14:21:20 +08:00
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="method-on-before-process-restart-self-func-lifespan-func-lifespan-func" tabindex="-1"><a class="header-anchor" href="#method-on-before-process-restart-self-func-lifespan-func-lifespan-func"><span><em>method</em> <code>on_before_process_restart(self, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC</code></span></a></h3><p><strong>Description</strong>: 注册重启时的函数</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>func:</li></ul></blockquote><p><strong>Return</strong>: LIFESPAN_FUNC:</p><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">def</span> <span class="token function">on_before_process_restart</span><span class="token punctuation">(</span>self<span class="token punctuation">,</span> func<span class="token punctuation">:</span> LIFESPAN_FUNC<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> LIFESPAN_FUNC<span class="token punctuation">:</span>
|
2024-08-29 13:53:08 +08:00
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
注册重启时的函数
|
|
|
|
|
Args:
|
|
|
|
|
func:
|
|
|
|
|
Returns:
|
|
|
|
|
LIFESPAN_FUNC:
|
|
|
|
|
"""</span>
|
|
|
|
|
self<span class="token punctuation">.</span>_before_process_restart_funcs<span class="token punctuation">.</span>append<span class="token punctuation">(</span>func<span class="token punctuation">)</span>
|
|
|
|
|
<span class="token keyword">return</span> func
|
2024-08-29 14:21:20 +08:00
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="method-on-after-restart-self-func-lifespan-func-lifespan-func" tabindex="-1"><a class="header-anchor" href="#method-on-after-restart-self-func-lifespan-func-lifespan-func"><span><em>method</em> <code>on_after_restart(self, func: LIFESPAN_FUNC) -> LIFESPAN_FUNC</code></span></a></h3><p><strong>Description</strong>: 注册重启后的函数</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>func:</li></ul></blockquote><p><strong>Return</strong>: LIFESPAN_FUNC:</p><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">def</span> <span class="token function">on_after_restart</span><span class="token punctuation">(</span>self<span class="token punctuation">,</span> func<span class="token punctuation">:</span> LIFESPAN_FUNC<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> LIFESPAN_FUNC<span class="token punctuation">:</span>
|
2024-08-29 13:53:08 +08:00
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
注册重启后的函数
|
|
|
|
|
Args:
|
|
|
|
|
func:
|
|
|
|
|
Returns:
|
|
|
|
|
LIFESPAN_FUNC:
|
|
|
|
|
"""</span>
|
|
|
|
|
self<span class="token punctuation">.</span>_after_restart_funcs<span class="token punctuation">.</span>append<span class="token punctuation">(</span>func<span class="token punctuation">)</span>
|
|
|
|
|
<span class="token keyword">return</span> func
|
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="async-method-before-start-self-none" tabindex="-1"><a class="header-anchor" href="#async-method-before-start-self-none"><span><em>async method</em> <code>before_start(self) -> None</code></span></a></h3><p><strong>Description</strong>: 启动前</p><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">async</span> <span class="token keyword">def</span> <span class="token function">before_start</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> <span class="token boolean">None</span><span class="token punctuation">:</span>
|
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
启动前
|
|
|
|
|
Returns:
|
|
|
|
|
"""</span>
|
|
|
|
|
logger<span class="token punctuation">.</span>debug<span class="token punctuation">(</span><span class="token string">'Running before_start functions'</span><span class="token punctuation">)</span>
|
|
|
|
|
<span class="token keyword">await</span> self<span class="token punctuation">.</span>run_funcs<span class="token punctuation">(</span>self<span class="token punctuation">.</span>_before_start_funcs<span class="token punctuation">)</span>
|
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="async-method-after-start-self-none" tabindex="-1"><a class="header-anchor" href="#async-method-after-start-self-none"><span><em>async method</em> <code>after_start(self) -> None</code></span></a></h3><p><strong>Description</strong>: 启动后</p><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">async</span> <span class="token keyword">def</span> <span class="token function">after_start</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> <span class="token boolean">None</span><span class="token punctuation">:</span>
|
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
启动后
|
|
|
|
|
Returns:
|
|
|
|
|
"""</span>
|
|
|
|
|
logger<span class="token punctuation">.</span>debug<span class="token punctuation">(</span><span class="token string">'Running after_start functions'</span><span class="token punctuation">)</span>
|
|
|
|
|
<span class="token keyword">await</span> self<span class="token punctuation">.</span>run_funcs<span class="token punctuation">(</span>self<span class="token punctuation">.</span>_after_start_funcs<span class="token punctuation">)</span>
|
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="async-method-before-process-shutdown-self-none" tabindex="-1"><a class="header-anchor" href="#async-method-before-process-shutdown-self-none"><span><em>async method</em> <code>before_process_shutdown(self) -> None</code></span></a></h3><p><strong>Description</strong>: 停止前</p><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">async</span> <span class="token keyword">def</span> <span class="token function">before_process_shutdown</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> <span class="token boolean">None</span><span class="token punctuation">:</span>
|
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
停止前
|
|
|
|
|
Returns:
|
|
|
|
|
"""</span>
|
|
|
|
|
logger<span class="token punctuation">.</span>debug<span class="token punctuation">(</span><span class="token string">'Running before_shutdown functions'</span><span class="token punctuation">)</span>
|
|
|
|
|
<span class="token keyword">await</span> self<span class="token punctuation">.</span>run_funcs<span class="token punctuation">(</span>self<span class="token punctuation">.</span>_before_process_shutdown_funcs<span class="token punctuation">)</span>
|
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="async-method-after-shutdown-self-none" tabindex="-1"><a class="header-anchor" href="#async-method-after-shutdown-self-none"><span><em>async method</em> <code>after_shutdown(self) -> None</code></span></a></h3><p><strong>Description</strong>: 停止后</p><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">async</span> <span class="token keyword">def</span> <span class="token function">after_shutdown</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> <span class="token boolean">None</span><span class="token punctuation">:</span>
|
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
停止后
|
|
|
|
|
Returns:
|
|
|
|
|
"""</span>
|
|
|
|
|
logger<span class="token punctuation">.</span>debug<span class="token punctuation">(</span><span class="token string">'Running after_shutdown functions'</span><span class="token punctuation">)</span>
|
|
|
|
|
<span class="token keyword">await</span> self<span class="token punctuation">.</span>run_funcs<span class="token punctuation">(</span>self<span class="token punctuation">.</span>_after_shutdown_funcs<span class="token punctuation">)</span>
|
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="async-method-before-process-restart-self-none" tabindex="-1"><a class="header-anchor" href="#async-method-before-process-restart-self-none"><span><em>async method</em> <code>before_process_restart(self) -> None</code></span></a></h3><p><strong>Description</strong>: 重启前</p><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">async</span> <span class="token keyword">def</span> <span class="token function">before_process_restart</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> <span class="token boolean">None</span><span class="token punctuation">:</span>
|
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
重启前
|
|
|
|
|
Returns:
|
|
|
|
|
"""</span>
|
|
|
|
|
logger<span class="token punctuation">.</span>debug<span class="token punctuation">(</span><span class="token string">'Running before_restart functions'</span><span class="token punctuation">)</span>
|
|
|
|
|
<span class="token keyword">await</span> self<span class="token punctuation">.</span>run_funcs<span class="token punctuation">(</span>self<span class="token punctuation">.</span>_before_process_restart_funcs<span class="token punctuation">)</span>
|
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="async-method-after-restart-self-none" tabindex="-1"><a class="header-anchor" href="#async-method-after-restart-self-none"><span><em>async method</em> <code>after_restart(self) -> None</code></span></a></h3><p><strong>Description</strong>: 重启后</p><details><summary><b>Source code</b></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">async</span> <span class="token keyword">def</span> <span class="token function">after_restart</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> <span class="token boolean">None</span><span class="token punctuation">:</span>
|
|
|
|
|
<span class="token triple-quoted-string string">"""
|
|
|
|
|
重启后
|
|
|
|
|
Returns:
|
|
|
|
|
|
|
|
|
|
"""</span>
|
|
|
|
|
logger<span class="token punctuation">.</span>debug<span class="token punctuation">(</span><span class="token string">'Running after_restart functions'</span><span class="token punctuation">)</span>
|
|
|
|
|
<span class="token keyword">await</span> self<span class="token punctuation">.</span>run_funcs<span class="token punctuation">(</span>self<span class="token punctuation">.</span>_after_restart_funcs<span class="token punctuation">)</span>
|
2024-08-29 14:21:20 +08:00
|
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="var-sync-lifespan-func-callable-any" tabindex="-1"><a class="header-anchor" href="#var-sync-lifespan-func-callable-any"><span><em><strong>var</strong></em> <code>SYNC_LIFESPAN_FUNC = Callable[[], Any]</code></span></a></h3><ul><li><strong>Type</strong>: <code>TypeAlias</code></li></ul><h3 id="var-async-lifespan-func-callable-awaitable-any" tabindex="-1"><a class="header-anchor" href="#var-async-lifespan-func-callable-awaitable-any"><span><em><strong>var</strong></em> <code>ASYNC_LIFESPAN_FUNC = Callable[[], Awaitable[Any]]</code></span></a></h3><ul><li><strong>Type</strong>: <code>TypeAlias</code></li></ul><h3 id="var-lifespan-func-sync-lifespan-func-async-lifespan-func" tabindex="-1"><a class="header-anchor" href="#var-lifespan-func-sync-lifespan-func-async-lifespan-func"><span><em><strong>var</strong></em> <code>LIFESPAN_FUNC = SYNC_LIFESPAN_FUNC | ASYNC_LIFESPAN_FUNC</code></span></a></h3><ul><li><strong>Type</strong>: <code>TypeAlias</code></li></ul><h3 id="var-sync-process-lifespan-func-callable-str-any" tabindex="-1"><a class="header-anchor" href="#var-sync-process-lifespan-func-callable-str-any"><span><em><strong>var</strong></em> <code>SYNC_PROCESS_LIFESPAN_FUNC = Callable[[str], Any]</code></span></a></h3><ul><li><strong>Type</strong>: <code>TypeAlias</code></li></ul><h3 id="var-async-process-lifespan-func-callable-str-awaitable-any" tabindex="-1"><a class="header-anchor" href="#var-async-process-lifespan-func-callable-str-awaitable-any"><span><em><strong>var</strong></em> <code>ASYNC_PROCESS_LIFESPAN_FUNC = Callable[[str], Awaitable[Any]]</code></span></a></h3><ul><li><strong>Type</strong>: <code>TypeAlias</code></li></ul><h3 id="var-process-lifespan-func-sync-process-lifespan-func-async-process-lifespan-func" tabindex="-1"><a class="header-anchor" href="#var-process-lifespan-func-sync-process-lifespan-func-async-process-lifespan-func"><span><em><strong>var</strong></em> <code>PROCESS_LIFESPAN_FUNC = SYNC_PROCESS_LIFESPAN_FUNC | ASYNC_PROCESS_LIFESPAN_FUNC</code></span></a></h3><ul><li><strong>Type</strong>: <code>TypeAlias</code></li></ul>`,76),l=[o];function c(p,i){return s(),a("div",null,l)}const r=n(t,[["render",c],["__file","lifespan.html.vue"]]),d=JSON.parse('{"path":"/en/dev/api/bot/lifespan.html","title":"liteyuki.bot.lifespan","lang":"en-US","frontmatter":{"title":"liteyuki.bot.lifespan","description":"class Lifespan method __init__(self) -> None Description: 轻雪生命周期管理,启动、停止、重启 Source code @staticmethod async method run_funcs(funcs: list[ASYNC_LIFESPAN_FUNC | PROCESS_LIFESPAN_F...","head":[["link",{"rel":"alternate","hreflang":"zh-cn","href":"https://vuepress-theme-hope-docs-demo.netlify.app/dev/api/bot/lifespan.html"}],["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/en/dev/api/bot/lifespan.html"}],["meta",{"property":"og:site_name","content":"LiteyukiBot"}],["meta",{"property":"og:title","content":"liteyuki.bot.lifespan"}],["meta",{"property":"og:description","content":"class Lifespan method __init__(self) -> None Description: 轻雪生命周期管理,启动、停止、重启 Source code @staticmethod async method run_funcs(funcs: list[ASYNC_LIFESPAN_FUNC | PROCESS_LIFESPAN_F..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-08-29T06:19:39.000Z"}],["meta",{"property":"article:modified_time","content":"2024-08-29T06:19:39.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"liteyuki.bot.lifespan\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"20
|