public async Task Subscribe(OutputChannelModificationInfo modificationInfo, NebulaService nebulaService) { var outputChannelSpecification = modificationInfo.OutputChannel.TypeSpecification; if (outputChannelSpecification == null) { return; } nebulaService.ModifyInMemoryOutputChannels(modificationInfo.OutputChannel); if (outputChannelSpecification is HttpPushOutputChannelSpecification channelSpecification) { await nebulaService.CreateOrUpdateJobAsync(channelSpecification.TargetUrl, modificationInfo.OutputChannel.ExternalKey) .ContinueWith(res => nebulaService.StartJobIfNotStarted(res.Result)); } else { throw new ArgumentNullException($"OutputChannel Type is not supported"); } }
public async Task Subscribe(OutputChannelModificationInfo modificationInfo, NebulaService nebulaService) { nebulaService.RemoveInMemoryOutputChannels(modificationInfo.OutputChannel); await nebulaService.StopJob(modificationInfo.OutputChannel.JobId); }