我的服务器中有一个脚本,它在文本文件中向用户显示其性能。当多个用户并行执行相同的脚本时,文本文件中的信息会混淆。我在文本文件中附加了服务器的许多详细信息,大约需要不到一分钟的时间才能得出输出。如果我进行文件锁定,它会影响性能还是我需要查看任何方法。
请帮助我如何进行。
谢谢巴拉克里希南
我的服务器中有一个脚本,它在文本文件中向用户显示其性能。当多个用户并行执行相同的脚本时,文本文件中的信息会混淆。我在文本文件中附加了服务器的许多详细信息,大约需要不到一分钟的时间才能得出输出。如果我进行文件锁定,它会影响性能还是我需要查看任何方法。
请帮助我如何进行。
谢谢巴拉克里希南
您可以使用消息队列系统:
POSIX 消息队列: http ://www.linuxhowtos.org/manpages/7/mq_overview.htm
豆茎:http: //kr.github.io/beanstalkd/
用于 Ruby 的 POSIX 消息队列:http ://rubygems.org/gems/posix_mq
Perl:http ://search.cpan.org/~iljatabac/POSIX-RT-MQ-0.03/MQ.pm
Python IPC:http ://semanchuk.com/philip/posix_ipc/
其他线程:
https://unix.stackexchange.com/questions/70837/linux-command-to-check-posix-message-queue
这个想法是创建一个服务器进程来接收消息并存储在缓冲区中。每次来自进程的消息已经有完整的行时,它只会在日志文件上打印一行。
FLoM http://sourceforge.net/projects/flom/可以管理您需要的锁:它易于使用,速度快,同一资源可以被不同的用户锁定/解锁,并实现了丰富的锁模型。
这个示例用例可以为您提供有关该工具的一些想法:http: //sourceforge.net/p/flom/wiki/Use%20Case%206/
干杯
Ch.F.