Могу ли я установить имя файла twidd pid в файле конфигурации TAC?
Я могу установить имя файла .pid
файл, предоставив --pidfile=
возможность twistd
, Есть ли способ, которым я могу указать это внутри .tac
файл вместо?
Контекст:
Мой скрученный сервис - это бот, который играет в игру и принимает несколько параметров, таких как его имя, уровень квалификации и т. Д. Я создаю .tac
файл для каждого бота (несколько ботов могут работать одновременно), чтобы каждый конкретный бот всегда имел одинаковые параметры, и я могу запустить его с twisted -y botname.tac
,
Я бы хотел, чтобы файл pid был в форме <bot_nick>.pid
так что разные боты не используют один и тот же файл pid, а также потому, что я могу видеть, какие из них запущены, просто перечислив файлы pid. Есть ли способ, которым я мог бы установить это в .tac
сам файл или я всегда должен указывать его вручную в параметрах командной строки twistd, таких как twistd -y bot1.tac --pidfile=bot1.pid
?
1 ответ
.tac
файл предназначен для описания службы, которую можно запустить; тогда как варианты twistd
варианты о том, как запустить сервис. Поэтому не имеет смысла помещать имя файла pidfile, или конфигурацию регистрации, или что-нибудь подобное в .tac
файл. В этом случае .pid
файл уже был написан к тому времени, когда ваш .tac
файл читается, поэтому нет никакого способа сделать это, даже в качестве обходного пути.
Если вы хотите написать специализированную систему конфигурации, лучше написать инструмент, который использует twistd
как библиотека, как этот пример из axiomatic
инструмент, который поставляется с базой данных Axiom. Конечно, интерфейс мог бы быть лучше - в настоящее время вам действительно нужно синтезировать буквальную командную строку, используя строки, а также требовать создания подклассов - но это позволяет вам очень хорошо получить контроль над тем, как работает ваша служба, без попыток взлома до других бит глобального состояния только потому, что .tac
файлы бывают Python.