为其他插件提供低磁盘空间钩子的Datasette插件
项目描述
datasette-low-disk-space-hook
为其他插件提供低磁盘空间钩子的Datasette插件
安装
在Datasette相同的环境中安装此插件。
datasette install datasette-low-disk-space-hook
尽管如此,您可能不需要直接安装此插件:它通常作为另一个插件的依赖项自动安装。
用法
此插件为Datasette添加了一个新的插件钩子,称为low_disk_space(datasette=datasette)
。
它还添加了一个新的实用函数space_is_running_low(datasette)
,可以调用以检查Datasette实例是否即将耗尽空间
from datasette_low_disk_space_hook import space_is_running_low
if await space_is_running_low(datasette):
print("Disk space is running low")
这个想法是让类似datasette-upload-csvs
和datasette-socrata
的插件在将任何新数据写入Datasette之前调用此钩子,以检查它们是否应该继续。
然后其他插件可以实现对钩子的实现,以便在Datasette即将耗尽空间时发出警告。
共同工作,这将帮助插件避免将磁盘完全填满数据,这可能导致Datasette实例崩溃。
实现钩子
此钩子的实现(在另一个插件中)看起来像这样
from datasette import hookimpl
import shutil
@hookimpl
def low_disk_space(self, datasette):
usage = shutil.disk_usage("/mnt")
# Fail at 95% or more used
if (usage.used / usage.total) > 0.95:
return True
如果插件需要在执行过程中使用await
,则可以返回一个async
函数
from datasette import hookimpl
from somewhere import check_disk_usage_percentage_async
@hookimpl
def low_disk_space(self, datasette):
async def inner():
usage = await check_disk_usage_percentage_async("/mnt")
if usage > 0.95:
return True
return inner
开发
要本地设置此插件,首先检出代码。然后创建一个新的虚拟环境
cd datasette-low-disk-space-hook
python3 -m venv venv
source venv/bin/activate
现在安装依赖项和测试依赖项
pip install -e '.[test]'
要运行测试
pytest
项目详情
关闭
datasette-low-disk-space-hook-0.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 58604c0b94c62f4616538d0866d2d6b0880ee3d2e2d673cbdd5d4e494bab0c5d |
|
MD5 | f637db254cab891a89653fc7272b6d26 |
|
BLAKE2b-256 | 1bbdab3ca9e788665fdb0c4a0841c36bd6c3d6d5e279832b57f5a68bae9bd41e |
关闭
datasette_low_disk_space_hook-0.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b820561fef7fc7c6ab8275e615cc8d1ace393ea774dc15aa4cfde6f3b5a42738 |
|
MD5 | bd416ac9e224afcd174fc3a057b7b985 |
|
BLAKE2b-256 | efc37d26439ef28179214af22d19d6562d2c2185a79b0ecf2aaba1d461ea5d61 |