Я написал конечный автомат для контроллера пула, но я борюсь с тем, что указано в документации о принудительном срабатывании метода on_enter при инициализации модели. В документации сказано:
"Обратите внимание, что обратный вызов on_enter_«state name»
не будет срабатывать при первой инициализации Машины. Например, если у вас определен обратный вызов on_enter_A()
, и вы инициализируете Машину с помощью initial='A'
, on_enter_A()
не будет запущен до следующего входа в состояние A. (Если вам нужно убедиться, что on_enter_A()
срабатывает при инициализации, вы можете просто создать фиктивное начальное состояние, а затем явно вызвать to_A()
внутри __init__
метод.) "
Но я не уверен, где мне нужно это вызвать .... Я создаю класс с именем Pool_Controller
, а затем создаю экземпляр Pool_Controller
, подобный этому
MyController=Pool_Controller
И затем я создаю конечный автомат вот так
machine = Machine(MyController, states=states, transitions, initial='dummy_state')
Где мне нужно поместить to_initial_state()
, чтобы dummy_state сразу перешел к моему initial_state, чтобы on_enter_initial_state
будет выполняться при инициализации модели?