summaryrefslogtreecommitdiff
path: root/src/buildstream/_jobreplay.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildstream/_jobreplay.py')
-rw-r--r--src/buildstream/_jobreplay.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/buildstream/_jobreplay.py b/src/buildstream/_jobreplay.py
new file mode 100644
index 000000000..1c053241c
--- /dev/null
+++ b/src/buildstream/_jobreplay.py
@@ -0,0 +1,15 @@
+import multiprocessing
+
+import click
+
+from ._scheduler.jobs.job import _unpickle_child_job
+
+
+@click.command(name='bst-job-replay', short_help="Replay a bst job")
+@click.argument('replayfile', type=click.File("rb"))
+def cli(replayfile):
+ job = _unpickle_child_job(replayfile)
+ queue = multiprocessing.Queue()
+ job._queue = queue
+ job._scheduler_context.set_message_handler(job._child_message_handler)
+ job.child_process()