Я довольно новичок в языке python, пожалуйста, несите меня на этом.State Machine in Python: запустить код в режиме перехода или состояния?
Я хочу запустить две государственные машины в двух отдельных потоках, обмениваясь друг с другом через очередь. Я использовал пакет transitions для создания конечного автомата.
Я понимаю, что все действия/код, который выполняет действия, должны быть заправлены в транзакции.
Эти строки взяты из примера пакета переходов, показывающий, куда поместить код для перехода
# escapades. Because the legal department says so.
self.machine.add_transition('complete_mission', 'saving the world', 'sweaty',
after='update_journal')
def update_journal(self):
""" Dear Diary, today I saved Mr. Whiskers. Again. """
self.kittens_rescued += 1
Однако, как бы я смотреть свою очередь, когда я достиг состояния, для того, чтобы реагировать на сообщения, отправленные туда, что должно было бы привести к переходу из одного состояния в другое? Исходя из моих основных знаний, я бы ожидал, что код в моем состоянии будет ждать сообщения, которое может вызвать переход, и вызвать переход в следующее состояние.
Мне нужно было бы создать поток внутри конечного автомата, передав объект конечного автомата в качестве аргумента, чтобы иметь возможность запускать переходы.
Я правильно понял этот пакет? Или я использую это неправильно?
Я вижу, я построил свой код, как это, но затем наткнулся на проблему, пытаясь заставить очередь работать двунаправленно и отправлять вещи. Спасибо за помощь! – JoeyD