Beispiel #1
0
        public void StitchSyncReceived(StitchInstanceEvent e)
        {
            long heartbeatId = e.DataId;

            _tracker.ReceiveSync(heartbeatId, e.InstanceId);

            _log.LogDebug("Stitch Id={0} Heartbeat sync received: {1}", e.InstanceId, heartbeatId);
        }
Beispiel #2
0
        public void StitchSyncReceived(StitchInstanceEvent e)
        {
            long heartbeatId = e.DataId;

            _log.LogDebug("Stitch Id={0} Heartbeat sync received: {1}", e.InstanceId, heartbeatId);
            _data.Update <StitchInstance>(e.InstanceId, si =>
            {
                if (si.LastHeartbeatReceived < heartbeatId)
                {
                    si.LastHeartbeatReceived = heartbeatId;
                }
            });
        }
Beispiel #3
0
        private void OnJobComplete(string jobId, CommandJob job)
        {
            _log.LogDebug("Job Id={0} is complete: {1}", jobId, job.Status);
            var completeEvent = new JobCompleteEvent
            {
                JobId  = job.Id,
                Status = job.Status
            };
            string channel = completeEvent.Status == JobStatusType.Success ? JobCompleteEvent.ChannelSuccess : JobCompleteEvent.ChannelFailure;

            _messageBus.Publish(channel, completeEvent);
        }
Beispiel #4
0
        public void SaveNodeStatus(NodeStatus status)
        {
            if (status == null)
            {
                return;
            }
            // TODO: Make sure the values are filled in.
            bool ok = _data.Save(status, true);

            if (!ok)
            {
                _log.LogError("Could not save NodeStatus from NodeId={0}", status.Id);
            }
            else
            {
                _log.LogDebug("Received NodeStatus from NodeId={0} and saved it", status.Id);
            }
        }
 public void StitchInstanceManagerOnDataMessageReceived(object sender, DataMessageReceivedEventArgs e)
 {
     _log.LogDebug("Received data message Id={0} from StitchInstanceId={1}", e.MessageId, e.FromStitchInstanceId);
     _messageBus.Publish(new StitchDataMessage
     {
         DataChannelName      = e.ChannelName,
         Data                 = e.Data,
         FromStitchInstanceId = e.FromStitchInstanceId,
         Id                 = e.MessageId,
         ToStitchGroup      = e.ToGroupName,
         ToStitchInstanceId = e.ToStitchInstanceId
     });
 }
Beispiel #6
0
 public void DataMessageReceived(string instanceId, long messageId, string toGroup, string toInstanceId, string channelName, string data)
 {
     _log.LogDebug("Received data message Id={0} from StitchInstanceId={1}", messageId, instanceId);
     _messageBus.Publish(new StitchDataMessage
     {
         DataChannelName      = channelName,
         Data                 = data,
         FromStitchInstanceId = instanceId,
         Id                 = messageId,
         ToStitchGroup      = toGroup,
         ToStitchInstanceId = toInstanceId
     });
 }
Beispiel #7
0
        // On Core Initialization, get all stitch instances from the data store and start them.
        public void StartRunningStitchesOnStartup()
        {
            _log.LogDebug("Starting startup stitches");
            var instances = _data.GetAll <StitchInstance>();

            foreach (var instance in instances.Where(i => i.State == InstanceStateType.Running || i.State == InstanceStateType.Started))
            {
                var request = new InstanceRequest
                {
                    Id = instance.Id
                };
                var packageFile = _data.Get <PackageFile>(instance.GroupName.ToString());
                // Best effort. The StartInstanceInternal method logs errors
                StartInstanceInternal(request, packageFile, instance);
            }
            _log.LogDebug("Startup stitches started");
        }