Как я могу создать событие, когда магазин пуст? - PullRequest
0 голосов
/ 13 марта 2020

Используя Simpy, я моделирую систему с несколькими магазинами. У меня есть процесс, который должен выдавать только когда магазин пуст (например, чтобы заполнить магазин или сообщить, что магазин пуст). Есть ли чистый способ сделать это? Ниже приведены единственные обходные пути, с которыми я столкнулся.

  • Сдайте короткий тайм-аут и проверьте, пусто ли хранилище. Это работает, но для выполнения проверки достаточно часто, чтобы не оказать существенного влияния на скорость обработки системы.
  • Передайте событие любому классу, который может получить из Магазина. В любое время есть .get () из Хранилища, проверьте, очищает ли get Хранилище и, если это так, вызовите метод .succeed () для События, и выдайте зависимый Процесс для этого События. Это не должно искажать результаты (как это делает другой обходной путь), но все равно кажется довольно неуклюжим.
...