/// <summary>
        /// Processes the specified args.
        /// </summary>
        /// <param name="args">The args.</param>
        /// <returns></returns>
        public object Process(dynamic args)
        {
            //Initialize
            this.blobStroreProvider = Config.BlobstoreProvider;
            this.blobStoreOptions   = Config.BlobstoreOptions;
            this.blobStoreClient    = BlobstoreClient.Blobstore.CreateClient(blobStroreProvider, blobStoreOptions);

            this.blobStoreId    = args[0].Value.ToString();
            this.sha1           = args[1].Value.ToString();
            this.packageName    = args[2].Value.ToString();
            this.packageVersion = args[3].Value.ToString();
            this.dependencies   = args[4];

            Directory.CreateDirectory(Path.Combine(Config.BaseDir, @"data", @"tmp"));

            this.compileBase = Path.Combine(Config.BaseDir, "data", "compile");
            this.installBase = Path.Combine(Config.BaseDir, "data", "packages");
            this.logFile     = Path.Combine(Config.BaseDir, "data", "tmp", Config.AgentId);
            this.logger      = new FileLogger(logFile);

            this.compileDir      = Path.Combine(compileBase, packageName);
            this.installDir      = Path.Combine(installBase, packageName, packageVersion);
            this.compiledPackage = sourceFile + ".compiled";

            this.maxDiskUsagePercent = 90.0;

            return(this.Start());
        }
        /// <summary>
        /// Processes the specified args.
        /// </summary>
        /// <param name="args">The args.</param>
        /// <returns></returns>
        public object Process(dynamic args)
        {
            //Initialize
            this.blobStroreProvider = Config.BlobstoreProvider;
            this.blobStoreOptions = Config.BlobstoreOptions;
            this.blobStoreClient = BlobstoreClient.Blobstore.CreateClient(blobStroreProvider, blobStoreOptions);

            this.blobStoreId = args[0].Value.ToString();
            this.sha1 = args[1].Value.ToString();
            this.packageName = args[2].Value.ToString();
            this.packageVersion = args[3].Value.ToString();
            this.dependencies = args[4];

            Directory.CreateDirectory(Path.Combine(Config.BaseDir, @"data", @"tmp"));

            this.compileBase = Path.Combine(Config.BaseDir, "data", "compile");
            this.installBase = Path.Combine(Config.BaseDir, "data", "packages");
            this.logFile = Path.Combine(Config.BaseDir, "data", "tmp", Config.AgentId);
            this.logger = new FileLogger(logFile);

            this.compileDir = Path.Combine(compileBase, packageName);
            this.installDir = Path.Combine(installBase, packageName, packageVersion);
            this.compiledPackage = sourceFile + ".compiled";

            this.maxDiskUsagePercent = 90.0;

            return this.Start();
        }