我有一堆服务器,其中有多个实例访问对每秒请求有硬限制的资源.
我需要一种机制来锁定所有正在运行的服务器和实例对此资源的访问.
我在github上找到了一个安静的分布式锁管理器:https://github.com/thefab/restful-distributed-lock-manager
不幸的是,似乎有一分钟.锁定时间为1秒,相对不可靠.在几次测试中,解锁1秒锁需要1到3秒.
有没有经过python接口测试的东西我可以用于此目的?
编辑:我需要在1秒内自动解锁的东西.锁永远不会在我的代码中释放.
我有一个运行机器学习算法的 Python 后端。我想对 Excel 插件 (C#) 和网站使用相同的后端。我希望两个接口都将我的训练数据(数组中的数千行数字)发送到同一个 Python 应用程序,并以另一个数组的形式检索结果(最多数千行)。
该网站将从 SQL 数据库中获取数据并将该数据发送到 Python,而 Excel 插件将获取当前工作表中的数据并将该数据发送到 Python。在继续处理数据之前,我需要能够在 Python 中创建 numpy 数组。请注意,该网站将在 Python 应用程序所在的同一台机器上运行。我还没有决定用什么来编写网站代码,但我倾向于使用 Node.js。
我做了一些研究,发现了一些选择:
1- Named pipes
2- Sockets
3- RPC server such as gRPC or XML-RPC.
4- Writing the data to a file and reading it back in Python
5- Web Service
Run Code Online (Sandbox Code Playgroud)
注意:我需要 Python“服务器”是有状态的,并在调用之间保持会话运行。所以我需要有一种守护进程在运行,等待调用。
您会推荐哪一种?为什么?我需要灵活地处理多个参数以及大量数字。使用 IronPython 不是一种选择,因为我在 Python 上运行 Keras,它显然不支持 IronPython。