Ejemplo n.º 1
0
        static void Bootstrapper_PipelineRefreshed(object sender, PipelineRefreshEventArgs e)
        {
            Console.WriteLine("{0}tarting pipeline", Subscription == null ? "S" : "Re");

            Subscription?.Dispose();

            try
            {
                IConnectableObservable <Message> observable = Bootstrapper.PipelineRoot.Pipeline.Publish();
                observable.Connect();

                Subscription = observable.SubscribeOn(TaskPoolScheduler.Default).Subscribe <Message>(
                    msg => RegisterMessage(msg),
                    ex => LogError(ex),
                    () => Console.WriteLine("Pipeline completed")
                    );
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Ejemplo n.º 2
0
        static void Bootstrapper_PipelineRefreshed(object sender, PipelineRefreshEventArgs e)
        {
            Console.WriteLine("Starting pipeline");

            stoppingTokenSource?.Cancel();
            stoppingTokenSource = new CancellationTokenSource();

            try
            {
                IConnectableObservable <Message> observable = Bootstrapper.PipelineRoot.Pipeline.Publish();
                observable.Connect();

                observable.SubscribeOn(TaskPoolScheduler.Default).Subscribe <Message>(
                    msg => EOLMessage(msg),
                    ex => LogError(ex),
                    () => Console.WriteLine("Pipeline completed"),
                    stoppingTokenSource.Token
                    );
            }
            catch (Exception ex)
            {
                logger.Error(ex, "{0} thrown when running pipeline: {1}", ex.GetType().Name, ex.Message);
            }
        }
Ejemplo n.º 3
0
 private void Bootstrapper_PipelineRefreshed(object sender, PipelineRefreshEventArgs e)
 {
     // Stop the current pipeline, which will make ExecuteAsync() loop and restart with the new pipeline.
     tokenSource.Cancel();
 }