public override void HandleMessage(RunSpecs message)
        {
            if (message.list == null)
            {
                return;
            }

            message.specs = message.list.Select(x => _controller.Value.LoadSpecification(x).data).ToArray();
            _engine.SendMessage(message);
        }
Example #2
0
        public void Teardown()
        {
            if (_process == null)
            {
                return;
            }

            _controller.SendMessage(new Shutdown());

            _process.WaitForExit(5000);

            if (!_process.HasExited)
            {
                _process?.Kill();
            }

            ConsoleWriter.Write($"Shut down the spec running process at {_project.ProjectPath} with exit code {_process.ExitCode}");

            _process = null;

            killLingeringProcesses();
        }
Example #3
0
        public override void HandleMessage(ForceRecycle message)
        {
            var queued = _controller.QueueState();

            _controller.Recycle();

            var runSpecs = new RunSpecs
            {
                specs = queued.AllSpecIds().Select(id =>
                {
                    return(_persistence.Value.LoadSpecification(id).data);
                }).ToArray()
            };

            _controller.SendMessage(runSpecs);
        }
Example #4
0
        public override void HandleMessage(RunSpec message)
        {
            if (message.spec != null)
            {
                if (message.revision.IsNotEmpty())
                {
                    _saveSpec.HandleMessage(new SaveSpecBody
                    {
                        id       = message.id,
                        revision = message.revision,
                        spec     = message.spec
                    });
                }
            }
            else
            {
                message.spec = _persistence.Value.LoadSpecification(message.id).data;
            }

            _remote.SendMessage(message);
        }