示例#1
0
        private void CheckPluginsAndRunRunables(IJob job)
        {
            try
            {
                switch (job.CurrentCommand)
                {
                    case JobCommand.Execute:
                        ExecutePlugins(job, plugin => Broker.Execute(plugin));
                        break;
                    case JobCommand.Commit:
                        ExecutePlugins(job, plugin => Broker.Commit(plugin));
                        break;
                    case JobCommand.Rollback:
                        ExecutePlugins(job, plugin => Broker.Rollback(plugin));
                        break;
                    case JobCommand.Finalize:
                        job.FinalizeJob();
                        break;
                    case JobCommand.None:

                        break;
                }
            }
            catch( NoOpenExecutionSlotsException )
            {
                // TODO: Handle exception
            }
            catch( PluginNotInstalledException e )
            {
                Octopus.Core.Logging.Logging.Instance.Log( string.Format( "ControllerEngine@CheckPluginsAndRunRunables(IJob) - Message: {0}\nStackTrace: {1}", e.Message, e.StackTrace ), false );
                // TODO: Handle exception
            }
        }