我可以在tac配置文件中设置twistd pid文件名吗?

时间:2016-01-21 15:45:09

标签: python twisted configuration-files pid twistd

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命令行选项中手动指定它?

1 个答案:

答案 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而试图破解其他位的全局状态。