Пример #1
0
        private static void Init()
        {
            Console.WriteLine("intializing web services...");
            service = GetService();
            Console.WriteLine("    {0}", service.Url);

            Console.WriteLine("done");
            Console.WriteLine();

            //associate the vendors supplied to jobs supplied
            Console.WriteLine("getting jobs...");

            job = service.SelectJob(parsedArgs.JobID);
            Console.WriteLine("   {0} ({1})", job.Name, job.JobID);

            Console.WriteLine();

            //get the number of 1000 pipe pages required for a full refresh for each job
            Console.WriteLine("getting pipe counts under job...");

            int total;
            Pipe[] pipes = service.SelectPipes(string.Format("WHERE P.Vendor_ID = {0} AND P.Job_ID = {1}", job.VendorID, job.JobID),
                "P.Pipe_ID", "ASC", "0", "1000", out total);
            Console.WriteLine("   {0} has {1} pipes", job.Name, total);
            jobNumPages[job.JobID] = (int)Math.Ceiling(total / 1000.0);
            job.PipeCount = total;

            string[] staggerMinMax = parsedArgs.StaggerUsers.Split(':');
            staggerMin = int.Parse(staggerMinMax[0]);
            staggerMax = int.Parse(staggerMinMax[1]);

            string[] downMinMax = parsedArgs.DownTimeSec.Split(':');
            downMin = int.Parse(downMinMax[0]);
            downMax = int.Parse(downMinMax[1]);

            string[] appMinMax = parsedArgs.AppProcessingTime.Split(':');
            appProcTimeMin = int.Parse(appMinMax[0]);
            appProcTimeMax = int.Parse(appMinMax[1]);

            if (parsedArgs.Op == CommandLineArgs.Operation.PipeUpdate || parsedArgs.Op == CommandLineArgs.Operation.PipeUpdateRefresh)
            {
                //get 5000 random pipes to be used for updates
                pipesToUpdate = service.SelectPipes(string.Format("WHERE P.Vendor_ID = {0} AND P.Job_ID = {1}", job.VendorID, job.JobID),
                    "P.Barcode", "ASC", "0", "5000", out total).ToList();
            }

            if (parsedArgs.Op == CommandLineArgs.Operation.WeldUpdate || parsedArgs.Op == CommandLineArgs.Operation.WeldUpdateRefresh)
            {
                //get 5000 random welds to be used for updates
                weldsToUpdate = service.SelectWelds(string.Format("WHERE P1.Job_ID = {0}", job.JobID), "W.Weld_Barcode", "ASC", "0", "5000", out total).ToList();
            }

            Console.WriteLine();
            Console.WriteLine("starting tasks...");
            Console.WriteLine("   users: {0}", parsedArgs.NumThreads);
            Console.WriteLine("   operation: {0}", parsedArgs.Op);
            Console.WriteLine("   number of operations per user: {0}", parsedArgs.NumOps);
            Console.WriteLine("   start time staggering: {0}", parsedArgs.StaggerUsers);
            Console.WriteLine("   downtime between requests: {0}", parsedArgs.DownTimeSec);
            Console.WriteLine();

            Console.WriteLine();
        }
Пример #2
0
 private static MainService GetService()
 {
     MainService service = new MainService();
     service.Url = ConfigurationManager.AppSettings["ServiceUrl"];
     service.ServiceHeaderValue = new ServiceHeader() { Username = parsedArgs.Username, Password = parsedArgs.Password, ApiVersion = "release8" };
     service.Timeout = 100000000;
     return service;
 }