I can set the filename of the .pid
file by supplying the --pidfile=
option to twistd
。有没有办法可以在.tac
文件中指定它?
我的扭曲服务是一个机器人,可以玩游戏并接受多个参数,比如他的名字,技能等等。我正在为每个机器人创建一个.tac
文件(多个机器人可以同时运行)以便每个特定的bot始终具有相同的参数,我可以使用twisted -y botname.tac
启动它。
我希望pid文件的格式为<bot_nick>.pid
,以便不同的机器人不使用相同的pid文件,也因为我只能通过列出pid文件来查看哪些都在运行。有没有办法可以在.tac
文件中设置它,或者我是否必须在twistd -y bot1.tac --pidfile=bot1.pid
这样的twistd命令行选项中手动指定它?
答案 0 :(得分:1)
.tac
文件旨在描述可以运行的服务;而twistd
的选项是关于如何运行服务的选项。因此,将pidfile文件名或日志记录配置或类似内容放入.tac
文件中是没有意义的。在这种情况下,.pid
文件在您的.tac
文件被读取时已经已经编写,因此没有可能的方法,即使作为一种解决方法
如果您想编写专门的配置系统,最好编写一个uses twistd
like a library, like this example from the axiomatic
tool that ships with the Axiom database的工具。当然,界面可能会更好 - 目前,你实际上必须使用字符串来合成文字命令行,以及需要子类化 - 但这可以让你对如何进行非常精细的控制服务运行,而不是因为.tac
文件碰巧是Python而试图破解其他位的全局状态。