当前位置: 首页>>代码示例>>C#>>正文


C# Job.OnStart方法代码示例

本文整理汇总了C#中Job.OnStart方法的典型用法代码示例。如果您正苦于以下问题:C# Job.OnStart方法的具体用法?C# Job.OnStart怎么用?C# Job.OnStart使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Job的用法示例。


在下文中一共展示了Job.OnStart方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ProcessDownload

		/// <summary>
		/// Starts the download.
		/// </summary>
		/// <remarks>
		/// This is called when the queue has a new download slot available.
		/// </remarks>
		/// <param name="job">Job to start</param>
		/// <param name="token">Cancelation token</param>
		/// <returns>Job</returns>
		private async Task<Job> ProcessDownload(Job job, CancellationToken token)
		{
			var dest = Path.Combine(_downloadPath, job.File.Name);

			_logger.Info("Starting downloading of {0} to {1}", job.Uri, dest);

			// setup cancelation
			token.Register(job.Client.CancelAsync);

			// update statuses
			job.OnStart(token, dest);

			// do the grunt work
			try {
				await job.Client.DownloadFileTaskAsync(job.Uri, dest);
				job.OnSuccess();
				_logger.Info("Finished downloading of {0}", job.Uri);
			} catch (WebException e) {
				if (e.Status == WebExceptionStatus.RequestCanceled) {
					job.OnCancelled();
				} else {
					job.OnFailure(e);
					_logger.Error(e, "Error downloading file (server error): {0}", e.Message);
					_crashManager.Report(e, "network");
					_messageManager.LogError(e, "Error downloading file");
				}
			} catch (Exception e) {
				job.OnFailure(e);
				_logger.Error(e, "Error downloading file: {0}", e.Message);
				_crashManager.Report(e, "network");
				_messageManager.LogError(e, "Error downloading file");
			}
			return job;
		}
开发者ID:freezy,项目名称:vpdb-agent,代码行数:43,代码来源:JobManager.cs


注:本文中的Job.OnStart方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。