如何管理多个 Perl 程序使用的共享资源的使用?

发布于 2024-07-29 16:04:23 字数 240 浏览 6 评论 0原文

我正在寻找一种好方法来管理单个服务器上的各种程序对外部 FTP 服务器的访问。 目前我正在使用一个锁定文件,以便一次只有一个进程可以使用 ftp 服务器。 允许 2-3 个并行进程同时访问 ftp 服务器的好方法是什么? 不幸的是,如果太多进程访问他们的服务器,提供商不允许更多会话并锁定我的帐户一天。 使用的平台是 Solaris 和 Linux - 所有 ftp 访问都封装在一个库中,因此我只需要更改 1 个函数。 如果 CPAN 上有东西就好了。

I am looking for a good way to manage the access to an external FTP server from various programs on a single server.
Currently I am working with a lock file, so that only one process can use the ftp server at a time. What would be a good way to allow 2-3 parallel processes to access the ftp server simultaneously. Unfortunately the provider does not allow more sessions and locks my account for a day if too many processes access their server.
Used platforms are Solaris and Linux - all ftp access is encapsulated in a single library thus there is only 1 function which I need to change. Would be nice if there is something on CPAN.

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

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

发布评论

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

评论(2

椒妓 2024-08-05 16:04:23

我会研究 perlipc(1) 用于 SystemV 信号量或用于 posix 信号量的 POSIX::RT::Semaphore 等模块。 我将创建一个资源计数为 2-3 的信号量,然后在不同的进程中尝试获取该信号量。

I'd look into perlipc(1) for SystemV semaphores or modules like POSIX::RT::Semaphore for posix semaphores. I'd create a semaphore with a resource count of 2-3, and then in the different process try to get the semaphore.

×纯※雪 2024-08-05 16:04:23

您是否可以创建一个本地程序来处理所有远程通信,同时本地程序与之通信,而不是让一堆程序排队等待? 您可以有效地创建一个代理,并将这种复杂性从您的程序中移开,这样您就不必在每个程序中处理它。

我不知道你的问题的其他限制,但这对我在类似的问题上有用。

Instead of making a bunch of programs wait in line, could you create one local program that handled all the remote communication while the local programs talked to it? You effectively create a proxy and push that complexity away from your programs so you don't have to deal with it in every program.

I don't know the other constraints on your problem, but this has worked for me on similar issues.

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