vikash-nuvai commited on
Commit
bfdceab
·
1 Parent(s): 9332176

fix: make TiffinPackingEnvironment a singleton to support stateless HTTP endpoints in openenv

Browse files
Files changed (1) hide show
  1. server/tiffin_environment.py +11 -0
server/tiffin_environment.py CHANGED
@@ -40,13 +40,24 @@ class TiffinPackingEnvironment(Environment):
40
  Supports 3 tasks: easy, medium, hard.
41
  """
42
 
 
 
 
 
 
 
 
 
43
  def __init__(self):
 
 
44
  super().__init__()
45
  self.sim = PackingSimulation()
46
  self.vlm = FoodClassifier()
47
  self._state = TiffinState()
48
  self._identified_items: set = set()
49
  self._task_config = None
 
50
 
51
  def reset(
52
  self,
 
40
  Supports 3 tasks: easy, medium, hard.
41
  """
42
 
43
+ _instance = None
44
+
45
+ def __new__(cls, *args, **kwargs):
46
+ if cls._instance is None:
47
+ cls._instance = super().__new__(cls)
48
+ cls._instance._initialized = False
49
+ return cls._instance
50
+
51
  def __init__(self):
52
+ if getattr(self, "_initialized", False):
53
+ return
54
  super().__init__()
55
  self.sim = PackingSimulation()
56
  self.vlm = FoodClassifier()
57
  self._state = TiffinState()
58
  self._identified_items: set = set()
59
  self._task_config = None
60
+ self._initialized = True
61
 
62
  def reset(
63
  self,