-# Copyright (c) 2017-2020. The SimGrid Team. All rights reserved.
+# Copyright (c) 2017-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 example demonstrate the actor migrations.
-#
-# The worker actor first move by itself, and then start an execution.
-# During that execution, the monitor migrates the worker, that wakes up on another host.
-# The execution was of the right amount of flops to take exactly 5 seconds on the first host
-# and 5 other seconds on the second one, so it stops after 10 seconds.
-#
-# Then another migration is done by the monitor while the worker is suspended.
-#
-# Note that worker() takes an uncommon set of parameters,
-# and that this is perfectly accepted by create().
+"""
+This example demonstrate the actor migrations.
+
+The worker actor first move by itself, and then start an execution.
+During that execution, the monitor migrates the worker, that wakes up on another host.
+The execution was of the right amount of flops to take exactly 5 seconds on the first host
+and 5 other seconds on the second one, so it stops after 10 seconds.
+
+Then another migration is done by the monitor while the worker is suspended.
+
+Note that worker() takes an uncommon set of parameters,
+and that this is perfectly accepted by create().
+"""
-from simgrid import Actor, Engine, Host, this_actor
import sys
+from simgrid import Actor, Engine, Host, this_actor
def worker(first_host, second_host):
this_actor.sleep_for(5)
this_actor.info(
- "After 5 seconds, move the process to {:s}".format(jacquelin.name))
+ "After 5 seconds, move the actor to {:s}".format(jacquelin.name))
actor.host = jacquelin
this_actor.sleep_until(15)
this_actor.info(
- "At t=15, move the process to {:s} and resume it.".format(fafard.name))
+ "At t=15, move the actor to {:s} and resume it.".format(fafard.name))
actor.host = fafard
actor.resume()