Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MC: move the reversible_race logic to the Transition class
[simgrid.git] / examples / python / actor-lifetime / actor-lifetime.py
index f408dc1..5e4bb4c 100644 (file)
@@ -1,20 +1,22 @@
-# Copyright (c) 2007-2019. The SimGrid Team. All rights reserved.
+# Copyright (c) 2007-2023. The SimGrid Team. All rights reserved.
 #
 # This program is free software; you can redistribute it and/or modify it
 # under the terms of the license (GNU LGPL) which comes with this package.
 
-# This Python file acts as the foil to the corresponding XML file, where the
-# action takes place: Actors are started and stopped at predefined time
+"""
+This Python file acts as the foil to the corresponding XML file, where the
+action takes place: Actors are started and stopped at predefined time
+"""
 
-from simgrid import *
 import sys
+from simgrid import Engine, this_actor
 
 
 class Sleeper:
     """This actor just sleeps until termination"""
 
-    def __init__(self, *args):
-        this_actor.on_exit(lambda: print("BAAA")) # sys.exit(1); simgrid.info("Exiting now (done sleeping or got killed)."))
+    def __init__(self):
+        this_actor.on_exit(lambda killed: this_actor.info("Exiting now (killed)." if killed else "Exiting now (finishing)."))
 
     def __call__(self):
         this_actor.info("Hello! I go to sleep.")
@@ -30,7 +32,7 @@ if __name__ == '__main__':
 
     e.load_platform(sys.argv[1])     # Load the platform description
     e.register_actor("sleeper", Sleeper)
-    # Deploy the sleeper processes with explicit start/kill times
+    # Deploy the sleeper actors with explicit start/kill times
     e.load_deployment(sys.argv[2])
 
     e.run()