我正在寻找关于实现服务的最佳实践的建议,我可以在特定目录中放置文件,然后服务将检测该文件并将该文件中的功能公开给服务…允许服务的用户调用该文件中的函数。我已经阅读了一些关于各种插件框架的文章,但是在这种情况下,我不能强制要求将放入文件夹中的文件的创建者遵守公共接口。
有什么建议吗?
您可以使用pyinotify在您的特定目录上实现监视。您可以使用触发文件系统监视的文件路径在python中__import__
它们。
我不能强制在文件夹中删除的文件的创建者遵守一个通用的接口。
在这种情况下,放置在该目录中的文件需要自己执行一些注册。
考虑以下插件文件myplugin.py
:
from yourAPI import PluginRegistry
def plugin_function():
... # your implementation
registry = PluginRegistry.get_instance()
registry.register("myplugin", plugin_function)
插件的注册将由插件本身触发。这也可能只是触发一次操作。
PluginRegistry
实际上很容易实现。