Skip to main content

高优先级关闭信号钩子插件

Project description

nonebot-plugin-shutdown-hook

该插件提供一个高优先级关闭信号钩子,用于在关闭时,Bot断开之前执行一些操作 例如对所有未关闭的Matcher进行回复,修改Bot昵称或签名为已关机等

在 nonebot.run() 之前调用此函数, 用 on_shutdown_before 装饰需要执行的函数即可

通过修改 Server.handle_exit,在 handle_exit 函数接收到中止信号后并不立刻中止,而是将信号存储在 SIGNALS_LIST,并立刻执行注册的钩子函数。钩子函数执行完毕后,依次从 SIGNALS_LIST 取出信号,重新传入原 handle_exit 函数处理。

此钩子优先级非常高,如果在钩子时发生错误,可能会导致程序无法正常关闭。

安装

pip install nonebot-plugin-shutdown-hook

使用

导入

from nonebot-plugin-shutdown-hook import override_uvicorn_shutdown_hooks, on_shutdown_before

创建

# bot.py 文件
...
override_uvicorn_shutdown_hooks()
...
if __name__ == "__main__":
    nonebot.run()
...
@on_shutdown_before()
async def func():
    # 执行一些操作
    ...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_shutdown_hook-0.1.2.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

nonebot_plugin_shutdown_hook-0.1.2-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_shutdown_hook-0.1.2.tar.gz.

File metadata

File hashes

Hashes for nonebot_plugin_shutdown_hook-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6c52088092c24e7a21a78ad043309f4c94aef5b6cbf77d6e372064e11ff1e605
MD5 e616b6be5f083e7369240bdca596f241
BLAKE2b-256 5c2b6e48f54f0a2e9717b6956f77028e581134943f53bb2e91158b648bf92d25

See more details on using hashes here.

File details

Details for the file nonebot_plugin_shutdown_hook-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_shutdown_hook-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e36ce3c8bbbc5c841f9415104f420372385637097d6b1ffe89fd0203d44f46de
MD5 6ae384e4e897f7854742e2e8da167db3
BLAKE2b-256 54cd5fbc9968d8d4c8681912d5b05fbb4d49e2f882eee68d4f883f3625a01e50

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page