private void AcquireJob()
        {
            this.FreeJobs--;

            var batch = this.UploadBatches.Dequeue();
            var job = new CompressorJob(this.ImageEndpoints, batch);

            job.Completed += this.OnImageCompressCompleted;
            job.ProgressChanged += this.OnImageProgressChanged;
            job.Disposed += this.OnJobDisposed;

            ThreadPool.QueueUserWorkItem(o =>
                {
                    job.Start();
                    job.Dispose();
                });
        }
        private void AcquireJob()
        {
            this.FreeJobs--;

            var batch = this.UploadBatches.Dequeue();
            var job   = new CompressorJob(this.ImageEndpoints, batch);

            job.Completed       += this.OnImageCompressCompleted;
            job.ProgressChanged += this.OnImageProgressChanged;
            job.Disposed        += this.OnJobDisposed;

            ThreadPool.QueueUserWorkItem(o =>
            {
                job.Start();
                job.Dispose();
            });
        }