/// <summary>
        /// Handle messages received from workers through Redis.</summary>
        /// <param name="key">
        /// The name of the channel on which the message was received.</param>
        /// <param name="message">
        /// A JSON message.</param>
        public void OnMessageRecieved(string key, byte[] message)
        {
            // Retrieve the client's connection ID from the key
            var parts    = key.Split(new[] { ':' });
            var clientId = parts[parts.Length - 1];

            if (!string.IsNullOrEmpty(clientId))
            {
                var context  = GlobalHost.ConnectionManager.GetConnectionContext <ExecuteEndPoint>();
                var response = WorkerResult.Deserialize(message);

                // Forward the message to the user's browser with SignalR
                context.Connection.Send(clientId, new { status = "ok", data = response.ToResultString() });
            }
        }