/// <summary>
        /// This method breaks the generated fills collections to blocks of a configured size
        ///  and feeds them (WriteMultiple) to the space by blocks.
        /// </summary>
        public void Feed()
        {
            try
            {
                //Stopwatch is used to measure feed time.
                var stopWatch = new Stopwatch();

                var blocks = _fills.Length / _config.BlockSize;
                var buffer = new Data[_config.BlockSize];

                stopWatch.Start();
                for (int block = 0; block < blocks; block++)
                {
                    //Copy the current fiils block
                    int offset = block * _config.BlockSize;
                    Array.Copy(_fills, offset, buffer, 0, buffer.Length);

                    //Write the current block to the space
                    _proxy.WriteMultiple(buffer);

                    Thread.Sleep(_config.FeedingThrottle);

                    if (!_continueFeeding)
                    {
                        break;
                    }
                }
                stopWatch.Stop();
            }
            catch
            {
            }
        }
Example #2
0
        public static Job submitJob(int tasks, String serviceName, String functionName, Dictionary <String, String> paramters)
        {
            JobId++;
            Console.WriteLine(" - Executing Job " + JobId);
            JobResult jobResult = new JobResult();

            Request[] requests = new Request[tasks];
            for (int i = 0; i < tasks; i++)
            {
                requests[i]              = new Request();
                requests[i].JobID        = JobId;
                requests[i].TaskID       = ((JobId) + "_" + (i));
                requests[i].Payload      = "PayloadData_" + requests[i].TaskID;
                requests[i].ServiceName  = serviceName;
                requests[i].FunctionName = functionName;
                requests[i].Parameters   = paramters;
            }
            SpaceProxy.WriteMultiple(requests);

            Job job = new Job();

            job.JobID        = JobId;
            job.NumberOfTask = tasks;
            SpaceProxy.Write(job);
            return(job);
        }
        public static void Main(string[] args)
        {
            url = args[0];
            Int32 batchSize = 10000;

            numOfTrades = Convert.ToInt32(args[1]);
            Console.WriteLine("Connecting to Space:" + url);
            SpaceProxy = GigaSpacesFactory.FindSpace(url);
            Console.WriteLine("Inserting " + numOfTrades + " Trades in the space");
            Int32 k = 0;

            Trade[] trades;
            if (numOfTrades <= batchSize)
            {
                trades = new Trade[numOfTrades];
                for (int i = 0; i < numOfTrades; i++)
                {
                    trades[i] = CalculateUtil.generateTrade(i + 1);
                }
                SpaceProxy.WriteMultiple(trades);
            }
            else
            {
                for (int i = 0; i < numOfTrades / batchSize; i++)
                {
                    trades = new Trade[batchSize];
                    for (int j = 0; j < batchSize; j++)
                    {
                        trades[j] = CalculateUtil.generateTrade(k + 1);
                        k++;
                    }
                    SpaceProxy.WriteMultiple(trades);
                }
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
    public void writeUsers()
    {
        User[] users = new User[2];

        users[0]        = new User();
        users[0].Id     = 1;
        users[0].Name   = "John Dow";
        users[0].Status = EAccountStatus.ACTIVE;

        users[1]        = new User();
        users[1].Id     = 2;
        users[1].Name   = "John Dow";
        users[1].Status = EAccountStatus.ACTIVE;

        proxy.WriteMultiple(users);
    }
        public static Job submitJob(int tasks, String serviceName, String functionName, Dictionary <String, String> paramters)
        {
            JobId++;
            Console.WriteLine(" - Executing Job " + JobId);
            JobResult jobResult = new JobResult();

            Request[] requests = new Request[tasks];

            for (int i = 0; i < tasks; i++)
            {
                requests[i]              = new Request();
                requests[i].JobID        = JobId + "";
                requests[i].TaskID       = ((JobId) + "_" + (i));
                requests[i].Payload      = "PayloadData_" + requests[i].TaskID;
                requests[i].ServiceName  = serviceName;
                requests[i].FunctionName = functionName;
                requests[i].Parameters   = paramters;
                requests[i].Priority     = i % 4 + 1;
                requests[i].Rate         = Rate;
                requests[i].TradeIds     = IdsMap[MapIndex];
                MapIndex++;
            }
            try
            {
                SpaceProxy.WriteMultiple(requests);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.StackTrace);
                throw e;
            }

            Job job = new Job();

            job.JobID        = JobId + "";
            job.NumberOfTask = tasks;
            SpaceProxy.Write(job);
            return(job);
        }