This project is read-only.


This plugin is created to do different distributed computations. Primary reason to create this plugin is to check unit tests much faster than my NUnit runner. You can create cs script and use existing SkyNet runner to run it on the set of PC.
It looks like you can start agents and server on linux pc with installed mono.
For now, this plugin is still in development. But you can try it :)


On the first page you can add new tasks, specify script for it and set parameters.


On the second page you can manage agent. To work with SkyNet you must install it. Here you should specify sky net server url.


On the third page you can install and configure SkyNet server.
Before start work, please verify that your firewall have all specified ports opened.


On the forth page you can press Refresh button and see current status.



You can start the new task from the tray menu. On the first tab you can see what script you use and set script parameters.


On the second page you can see current status.


If you have configured all properly. Than when you press start button, you will see progress and after some time you will see results. For example:


Script specification

You can find scripts on the folder: TBoxFolder\Data\SkyNet. You can create and add your own scripts.
For now, we have one script to run Nunit tests and other to calc factorial of the big number.

    public class SkyAgentWork
        public ServerAgent Agent { get; set; }
        public string Config { get; set; }
        public string Report { get; set; }
        public bool IsFailed { get; set; }

    public class ServerAgent
        public string Endpoint { get; set; }
        public int TotalCores { get; set; }
        public AgentState State { get; set; }

public interface ISkyScript{
        string DataFolderPath { get; set; }
        string[] PathMasksToInclude { get; set; }
        // this part will be executed on the server
        #region Server
        //this method should return  agentsData for the each agent
        IList<SkyAgentWork> ServerBuildAgentsData(string workingDirectory, IList<ServerAgent> agents);
        //this method should return report by agentData and agentReport for the each agent
        string ServerBuildResultByAgentResults(IList<SkyAgentWork> results);
        #endregion Server
        // this part will be executed on the each agent
        #region Agent
        //this method should return report
        string AgentExecute(string workingDirectory, string agentData, ISkyContext context);
        #endregion Agent

Last edited Jun 15, 2014 at 8:52 PM by mnk92, version 13