自动检测新文件并将函数作为服务公开



我正在寻找关于实现服务的最佳实践的建议,我可以在特定目录中放置文件,然后服务将检测该文件并将该文件中的功能公开给服务…允许服务的用户调用该文件中的函数。我已经阅读了一些关于各种插件框架的文章,但是在这种情况下,我不能强制要求将放入文件夹中的文件的创建者遵守公共接口。

有什么建议吗?

您可以使用pyinotify在您的特定目录上实现监视。您可以使用触发文件系统监视的文件路径在python中__import__它们。

我不能强制在文件夹中删除的文件的创建者遵守一个通用的接口。

在这种情况下,放置在该目录中的文件需要自己执行一些注册。

考虑以下插件文件myplugin.py:

from yourAPI import PluginRegistry
def plugin_function():
    ... # your implementation

registry = PluginRegistry.get_instance()
registry.register("myplugin", plugin_function)

插件的注册将由插件本身触发。这也可能只是触发一次操作。

PluginRegistry实际上很容易实现。

最新更新