Ejemplo n.º 1
0
        /// <summary>
        /// Create a job out of this wrapper
        /// </summary>
        public Job CreateJob(string hash)
        {
            var jobInputString = JobObjectSerializer.Serialize(JobInput);
            var job            = new Job(Id, HandlerId, jobInputString, hash);

            return(job);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Converts the result to the generic result object and calls the abstract method
        /// to process the data
        /// </summary>
        public void ProcessResult(IJobInput jobInput, string jobResultString)
        {
            var output = JobObjectSerializer.Deserialize <TOut>(jobResultString);

            ProcessResult((TIn)jobInput, output);
            Interlocked.Decrement(ref _jobCount);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Converts the result to the generic result object and calls the abstract method
        /// to process the data
        /// </summary>
        public void ProcessResult(IJobInput jobInput, string jobResultString, object additionalData)
        {
            var output = JobObjectSerializer.Deserialize <TOut>(jobResultString);

            ProcessResult((TIn)jobInput, output, additionalData);
            Interlocked.Decrement(ref _jobCount);
            // Finish if no more jobs are pending
            if (Interlocked.Read(ref _jobCount) == 0)
            {
                IsFinished = true;
            }
        }
Ejemplo n.º 4
0
        public JobResult Process(Job job, Guid clientId)
        {
            var inputString = job.GetInput();
            var inputObject = JobObjectSerializer.Deserialize <TIn>(inputString);

            try
            {
                var outputObject = Process(inputObject);
                var outputString = JobObjectSerializer.Serialize(outputObject);
                var result       = new JobResult(job, clientId, outputString);
                return(result);
            }
            catch (Exception ex)
            {
                return(new JobResult(job, clientId, ex));
            }
        }
Ejemplo n.º 5
0
        public PackageInfo GetInfo(string packageName)
        {
            var content = File.ReadAllText(BuildInfoFileName(packageName));

            return(JobObjectSerializer.Deserialize <PackageInfo>(content));
        }
Ejemplo n.º 6
0
        public void Save(PackageInfo packageInfo)
        {
            var serializedInfo = JobObjectSerializer.Serialize(packageInfo);

            File.WriteAllText(BuildInfoFileName(packageInfo.PackageName), serializedInfo);
        }