在 Rails 应用程序中通过 SFTP 监控远程文件夹

发布于 2025-01-02 12:06:48 字数 157 浏览 2 评论 0原文

正如标题所示,我需要通过 SFTP 连接监视远程文件夹中的新文件。

我设置了一个守护进程来打开连接,如果它找到任何文件,那么它会检索其内容,如果没有,那么它会休眠 5 秒钟。这工作正常,CPU 使用率仅徘徊在 4% 左右。有没有更好的方法来做到这一点?无限期地保持这样的连接是否不好?

As the title says, I need to monitor a remote folder for new files through a SFTP connection.

I setup a daemon process that opens a connection and if it finds any files then it retrieves their contents and if it doesn't then it sleeps for 5 seconds. This works fine it just hovers around 4% CPU usage. Is there a better way to do this and is it bad to keep a connection like this open indefinitely?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鸠魁 2025-01-09 12:06:48

考虑到目前的情况,这可能是你能做的最好的事情。当监视的目录变得更大时,您的守护进程可能会运行得更慢并消耗更多资源。

无论是在客户端还是在服务器上,单个持久连接都没什么意义。但如果有很多客户端,服务器可能会变慢。

如果您控制其他服务器,更好的方法是在其上安装守护程序。本地进程可以监听文件系统通知并向连接的观察者广播。

That's probably the best thing you can do, given the circumstances. When watched directories get bigger, your daemon will likely run slower and consume more resources.

A single persistent connection is nothing, both on client and server. But if there are many clients, server may slow down.

If you control the other server, a much better way would be to install a daemon on it. Local process can listen to filesystem notifications and broadcast to connected watchers.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文