• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang cache.GetPageCount函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/henrylee2cn/pholcus/runtime/cache.GetPageCount函数的典型用法代码示例。如果您正苦于以下问题:Golang GetPageCount函数的具体用法?Golang GetPageCount怎么用?Golang GetPageCount使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了GetPageCount函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: Stop

// Offline 模式下中途终止任务
func (self *Logic) Stop() {
	status.Crawl = status.STOP
	Pholcus.Crawls.Stop()
	scheduler.Sdl.Stop()
	reporter.Log.Stop()

	// 总耗时
	takeTime := time.Since(cache.StartTime).Minutes()

	// 打印总结报告
	log.Println(` *********************************************************************************************************************************** `)
	log.Printf(" * ")
	log.Printf(" *                               !!任务取消:下载页面 %v 个,耗时:%.5f 分钟!!", cache.GetPageCount(0), takeTime)
	log.Printf(" * ")
	log.Println(` *********************************************************************************************************************************** `)

	// 标记结束
	self.finish <- true
}
开发者ID:kaca,项目名称:pholcus,代码行数:20,代码来源:app.go


示例2: Stop

// Offline 模式下中途终止任务
func (self *Logic) Stop() {
	self.status = status.STOP
	self.CrawlPool.Stop()
	self.Scheduler.Stop()

	// 总耗时
	takeTime := time.Since(cache.StartTime).Minutes()

	// 打印总结报告
	logs.Log.Informational(` *********************************************************************************************************************************** `)
	logs.Log.Informational(" * ")
	logs.Log.Notice(" *                               !!任务取消:下载页面 %v 个,耗时:%.5f 分钟!!", cache.GetPageCount(0), takeTime)
	logs.Log.Informational(" * ")
	logs.Log.Informational(` *********************************************************************************************************************************** `)

	self.LogRest()

	// 标记结束
	self.finishOnce.Do(func() { close(self.finish) })
}
开发者ID:smypai,项目名称:pholcus,代码行数:21,代码来源:app.go


示例3: Stop

// Offline 模式下中途终止任务
func (self *Logic) Stop() {
	self.status = status.STOP
	self.Node.Crawls.Stop()
	scheduler.Sdl.Stop()

	// 总耗时
	takeTime := time.Since(cache.StartTime).Minutes()

	// 打印总结报告
	log.Println(` *********************************************************************************************************************************** `)
	log.Printf(" * ")
	log.Printf(" *                               !!任务取消:下载页面 %v 个,耗时:%.5f 分钟!!", cache.GetPageCount(0), takeTime)
	log.Printf(" * ")
	log.Println(` *********************************************************************************************************************************** `)

	reporter.Log.Stop()

	// 标记结束
	self.finishOnce.Do(func() { close(self.finish) })
}
开发者ID:npk,项目名称:pholcus-1,代码行数:21,代码来源:app.go


示例4: goRun

// 任务执行
func (self *Logic) goRun(count int) {
	// 执行任务
	var i int
	for i = 0; i < count && self.Status() != status.STOP; i++ {
	pause:
		if self.IsPause() {
			time.Sleep(1e9)
			goto pause
		}
		// 从爬行队列取出空闲蜘蛛,并发执行
		c := self.CrawlPool.Use()
		if c != nil {
			go func(i int, c crawl.Crawler) {
				// 执行并返回结果消息
				c.Init(self.SpiderQueue.GetByIndex(i)).Start()
				// 任务结束后回收该蜘蛛
				self.CrawlPool.Free(c)
			}(i, c)
		}
	}
	// 监控结束任务
	for ii := 0; ii < i; ii++ {
		s := <-cache.ReportChan
		if (s.DataNum == 0) && (s.FileNum == 0) {
			continue
		}
		logs.Log.Informational(" * ")
		switch {
		case s.DataNum > 0 && s.FileNum == 0:
			logs.Log.App(" *     [任务小计:%s | KEYIN:%s]   共采集数据 %v 条,用时 %v!\n",
				s.SpiderName, s.Keyin, s.DataNum, s.Time)
		case s.DataNum == 0 && s.FileNum > 0:
			logs.Log.App(" *     [任务小计:%s | KEYIN:%s]   共下载文件 %v 个,用时 %v!\n",
				s.SpiderName, s.Keyin, s.FileNum, s.Time)
		default:
			logs.Log.App(" *     [任务小计:%s | KEYIN:%s]   共采集数据 %v 条 + 下载文件 %v 个,用时 %v!\n",
				s.SpiderName, s.Keyin, s.DataNum, s.FileNum, s.Time)
		}

		self.sum[0] += s.DataNum
		self.sum[1] += s.FileNum
	}

	// 总耗时
	self.takeTime = time.Since(cache.StartTime)
	var prefix = func() string {
		if self.Status() == status.STOP {
			return "任务中途取消:"
		}
		return "本次"
	}()
	// 打印总结报告
	logs.Log.Informational(" * ")
	logs.Log.Informational(` *********************************************************************************************************************************** `)
	logs.Log.Informational(" * ")
	switch {
	case self.sum[0] > 0 && self.sum[1] == 0:
		logs.Log.App(" *                            —— %s合计采集【数据 %v 条】, 实爬URL【成功 %v 页 + 失败 %v 页 = 合计 %v 页】,耗时【%v】 ——",
			prefix, self.sum[0], cache.GetPageCount(1), cache.GetPageCount(-1), cache.GetPageCount(0), self.takeTime)
	case self.sum[0] == 0 && self.sum[1] > 0:
		logs.Log.App(" *                            —— %s合计采集【文件 %v 个】, 实爬URL【成功 %v 页 + 失败 %v 页 = 合计 %v 页】,耗时【%v】 ——",
			prefix, self.sum[1], cache.GetPageCount(1), cache.GetPageCount(-1), cache.GetPageCount(0), self.takeTime)
	case self.sum[0] == 0 && self.sum[1] == 0:
		logs.Log.App(" *                            —— %s无采集结果,实爬URL【成功 %v 页 + 失败 %v 页 = 合计 %v 页】,耗时【%v】 ——",
			prefix, cache.GetPageCount(1), cache.GetPageCount(-1), cache.GetPageCount(0), self.takeTime)
	default:
		logs.Log.App(" *                            —— %s合计采集【数据 %v 条 + 文件 %v 个】,实爬URL【成功 %v 页 + 失败 %v 页 = 合计 %v 页】,耗时【%v】 ——",
			prefix, self.sum[0], self.sum[1], cache.GetPageCount(1), cache.GetPageCount(-1), cache.GetPageCount(0), self.takeTime)
	}
	logs.Log.Informational(" * ")
	logs.Log.Informational(` *********************************************************************************************************************************** `)

	// 单机模式并发运行,需要标记任务结束
	if self.AppConf.Mode == status.OFFLINE {
		self.LogRest()
		self.finishOnce.Do(func() { close(self.finish) })
	}
}
开发者ID:ReinhardHsu,项目名称:pholcus,代码行数:79,代码来源:app.go


示例5: goRun

// 任务执行
func (self *Logic) goRun(count int) {
	for i := 0; i < count && self.status != status.STOP; i++ {
		if self.status == status.PAUSE {
			time.Sleep(1e9)
			continue
		}
		// 从爬行队列取出空闲蜘蛛,并发执行
		c := self.CrawlPool.Use()
		if c != nil {
			go func(i int, c crawl.Crawler) {
				// 执行并返回结果消息
				c.Init(self.SpiderQueue.GetByIndex(i)).Start()
				// 任务结束后回收该蜘蛛
				self.CrawlPool.Free(c)
			}(i, c)
		}
	}

	// 监控结束任务
	sum := [2]uint{} //数据总数
	for i := 0; i < count; i++ {
		s := <-cache.ReportChan
		if (s.DataNum == 0) && (s.FileNum == 0) {
			continue
		}
		logs.Log.Informational(" * ")
		switch {
		case s.DataNum > 0 && s.FileNum == 0:
			logs.Log.Notice(" *     [输出报告 -> 任务:%v | 关键词:%v]   共输出数据 %v 条,用时 %v 分钟!\n", s.SpiderName, s.Keyword, s.DataNum, s.Time)
		case s.DataNum == 0 && s.FileNum > 0:
			logs.Log.Notice(" *     [输出报告 -> 任务:%v | 关键词:%v]   共下载文件 %v 个,用时 %v 分钟!\n", s.SpiderName, s.Keyword, s.FileNum, s.Time)
		default:
			logs.Log.Notice(" *     [输出报告 -> 任务:%v | 关键词:%v]   共输出数据 %v 条 + 下载文件 %v 个,用时 %v 分钟!\n", s.SpiderName, s.Keyword, s.DataNum, s.FileNum, s.Time)
		}
		logs.Log.Informational(" * ")

		sum[0] += s.DataNum
		sum[1] += s.FileNum
	}

	// 总耗时
	takeTime := time.Since(cache.StartTime).Minutes()

	// 打印总结报告
	logs.Log.Informational(` *********************************************************************************************************************************** `)
	logs.Log.Informational(" * ")
	switch {
	case sum[0] > 0 && sum[1] == 0:
		logs.Log.Notice(" *                            —— 本次合计抓取 %v 条数据,下载页面 %v 个(成功:%v,失败:%v),耗时:%.5f 分钟 ——", sum[0], cache.GetPageCount(0), cache.GetPageCount(1), cache.GetPageCount(-1), takeTime)
	case sum[0] == 0 && sum[1] > 0:
		logs.Log.Notice(" *                            —— 本次合计抓取 %v 个文件,下载页面 %v 个(成功:%v,失败:%v),耗时:%.5f 分钟 ——", sum[1], cache.GetPageCount(0), cache.GetPageCount(1), cache.GetPageCount(-1), takeTime)
	default:
		logs.Log.Notice(" *                            —— 本次合计抓取 %v 条数据 + %v 个文件,下载网页 %v 个(成功:%v,失败:%v),耗时:%.5f 分钟 ——", sum[0], sum[1], cache.GetPageCount(0), cache.GetPageCount(1), cache.GetPageCount(-1), takeTime)
	}
	logs.Log.Informational(" * ")
	logs.Log.Informational(` *********************************************************************************************************************************** `)

	// 单机模式并发运行,需要标记任务结束
	if self.AppConf.Mode == status.OFFLINE {
		self.status = status.STOP
		self.finishOnce.Do(func() { close(self.finish) })
	}
}
开发者ID:smypai,项目名称:pholcus,代码行数:64,代码来源:app.go


示例6: goRun

// 任务执行
func (self *Logic) goRun(count int) {
	for i := 0; i < count && self.Status() != status.STOP; i++ {
	wait:
		if self.Status() == status.PAUSE {
			time.Sleep(1e9)
			goto wait
		}
		// 从爬行队列取出空闲蜘蛛,并发执行
		c := self.CrawlPool.Use()
		if c != nil {
			go func(i int, c crawl.Crawler) {
				// 执行并返回结果消息
				c.Init(self.SpiderQueue.GetByIndex(i)).Start()
				// 任务结束后回收该蜘蛛
				self.CrawlPool.Free(c)
			}(i, c)
		}
	}

	// 监控结束任务
	for i := 0; i < count && self.Status() != status.STOP; i++ {
		s := <-cache.ReportChan
		if (s.DataNum == 0) && (s.FileNum == 0) {
			continue
		}
		logs.Log.Informational(" * ")
		switch {
		case s.DataNum > 0 && s.FileNum == 0:
			logs.Log.Notice(" *     [输出报告 -> 任务:%v | 关键词:%v]   共输出数据 %v 条,用时 %v 分钟!\n", s.SpiderName, s.Keyword, s.DataNum, s.Time)
		case s.DataNum == 0 && s.FileNum > 0:
			logs.Log.Notice(" *     [输出报告 -> 任务:%v | 关键词:%v]   共下载文件 %v 个,用时 %v 分钟!\n", s.SpiderName, s.Keyword, s.FileNum, s.Time)
		default:
			logs.Log.Notice(" *     [输出报告 -> 任务:%v | 关键词:%v]   共输出数据 %v 条 + 下载文件 %v 个,用时 %v 分钟!\n", s.SpiderName, s.Keyword, s.DataNum, s.FileNum, s.Time)
		}
		logs.Log.Informational(" * ")

		self.sum[0] += s.DataNum
		self.sum[1] += s.FileNum
	}

	// 总耗时
	self.takeTime = time.Since(cache.StartTime).Minutes()
	var prefix = func() string {
		if self.Status() == status.STOP {
			return "任务中途取消:"
		}
		return "本次"
	}()
	// 打印总结报告
	logs.Log.Informational(` *********************************************************************************************************************************** `)
	logs.Log.Informational(" * ")
	switch {
	case self.sum[0] > 0 && self.sum[1] == 0:
		logs.Log.Notice(" *                            —— %s合计输出 %v 条数据,实爬URL %v 个(成功:%v,失败:%v),耗时:%.5f 分钟 ——", prefix, self.sum[0], cache.GetPageCount(0), cache.GetPageCount(1), cache.GetPageCount(-1), self.takeTime)
	case self.sum[0] == 0 && self.sum[1] > 0:
		logs.Log.Notice(" *                            —— %s合计输出 %v 个文件,实爬URL %v 个(成功:%v,失败:%v),耗时:%.5f 分钟 ——", prefix, self.sum[1], cache.GetPageCount(0), cache.GetPageCount(1), cache.GetPageCount(-1), self.takeTime)
	default:
		logs.Log.Notice(" *                            —— %s合计输出 %v 条数据 + %v 个文件,实爬URL %v 个(成功:%v,失败:%v),耗时:%.5f 分钟 ——", prefix, self.sum[0], self.sum[1], cache.GetPageCount(0), cache.GetPageCount(1), cache.GetPageCount(-1), self.takeTime)
	}
	logs.Log.Informational(" * ")
	logs.Log.Informational(` *********************************************************************************************************************************** `)

	// 单机模式并发运行,需要标记任务结束
	if self.AppConf.Mode == status.OFFLINE {
		self.setStatus(status.STOP)
		self.LogRest()
		self.finishOnce.Do(func() { close(self.finish) })
	}
}
开发者ID:jununfly,项目名称:pholcus,代码行数:70,代码来源:app.go


示例7: goRun

// 任务执行
func (self *Logic) goRun(count int) {
	for i := 0; i < count && status.Crawl == status.RUN; i++ {
		// 从爬行队列取出空闲蜘蛛,并发执行
		c := Pholcus.Crawls.Use()
		if c != nil {
			go func(i int, c crawl.Crawler) {
				// 执行并返回结果消息
				c.Init(Pholcus.Spiders.GetByIndex(i)).Start()
				// 任务结束后回收该蜘蛛
				Pholcus.Crawls.Free(c.GetId())
			}(i, c)
		}
	}

	// 监控结束任务
	sum := [2]uint{} //数据总数
	for i := 0; i < count; i++ {
		s := <-cache.ReportChan
		if (s.DataNum == 0) && (s.FileNum == 0) {
			continue
		}
		log.Printf(" * ")
		switch {
		case s.DataNum > 0 && s.FileNum == 0:
			reporter.Log.Printf(" *     [输出报告 -> 任务:%v | 关键词:%v]   共输出数据 %v 条,用时 %v 分钟!\n", s.SpiderName, s.Keyword, s.DataNum, s.Time)
		case s.DataNum == 0 && s.FileNum > 0:
			reporter.Log.Printf(" *     [输出报告 -> 任务:%v | 关键词:%v]   共下载文件 %v 个,用时 %v 分钟!\n", s.SpiderName, s.Keyword, s.FileNum, s.Time)
		default:
			reporter.Log.Printf(" *     [输出报告 -> 任务:%v | 关键词:%v]   共输出数据 %v 条 + 下载文件 %v 个,用时 %v 分钟!\n", s.SpiderName, s.Keyword, s.DataNum, s.FileNum, s.Time)
		}
		log.Printf(" * ")

		sum[0] += s.DataNum
		sum[1] += s.FileNum
	}

	// 总耗时
	takeTime := time.Since(cache.StartTime).Minutes()

	// 打印总结报告
	log.Println(` *********************************************************************************************************************************** `)
	log.Printf(" * ")
	switch {
	case sum[0] > 0 && sum[1] == 0:
		reporter.Log.Printf(" *                            —— 本次合计抓取 %v 条数据,下载页面 %v 个(成功:%v,失败:%v),耗时:%.5f 分钟 ——", sum[0], cache.GetPageCount(0), cache.GetPageCount(1), cache.GetPageCount(-1), takeTime)
	case sum[0] == 0 && sum[1] > 0:
		reporter.Log.Printf(" *                            —— 本次合计抓取 %v 个文件,下载页面 %v 个(成功:%v,失败:%v),耗时:%.5f 分钟 ——", sum[1], cache.GetPageCount(0), cache.GetPageCount(1), cache.GetPageCount(-1), takeTime)
	default:
		reporter.Log.Printf(" *                            —— 本次合计抓取 %v 条数据 + %v 个文件,下载网页 %v 个(成功:%v,失败:%v),耗时:%.5f 分钟 ——", sum[0], sum[1], cache.GetPageCount(0), cache.GetPageCount(1), cache.GetPageCount(-1), takeTime)
	}
	log.Printf(" * ")
	log.Println(` *********************************************************************************************************************************** `)

	// 标记结束
	self.finish <- true
}
开发者ID:kaca,项目名称:pholcus,代码行数:57,代码来源:app.go


示例8: goRun

// 任务执行
func (self *Logic) goRun(count int) {
	for i := 0; i < count && status.Crawl == status.RUN; i++ {
		// 从爬行队列取出空闲蜘蛛,并发执行
		c := Pholcus.Crawls.Use()
		if c != nil {
			go func(i int, c crawl.Crawler) {
				// 执行并返回结果消息
				c.Init(Pholcus.Spiders.GetByIndex(i)).Start()
				// 任务结束后回收该蜘蛛
				Pholcus.Crawls.Free(c.GetId())
			}(i, c)
		}
	}

	// 监控结束任务
	sum := 0 //数据总数
	for i := 0; i < count; i++ {
		s := <-cache.ReportChan

		log.Printf(" * ")
		reporter.Log.Printf(" *     [结束报告 -> 任务:%v | 关键词:%v]   共输出数据 %v 条,用时 %v 分钟!\n", s.SpiderName, s.Keyword, s.Num, s.Time)
		log.Printf(" * ")

		if slen, err := strconv.Atoi(s.Num); err == nil {
			sum += slen
		}
	}

	// 总耗时
	takeTime := time.Since(cache.StartTime).Minutes()

	// 打印总结报告
	log.Println(` *********************************************************************************************************************************** `)
	log.Printf(" * ")
	reporter.Log.Printf(" *                            —— 本次抓取合计 %v 条数据,下载页面 %v 个(成功:%v,失败:%v),耗时:%.5f 分钟 ——", sum, cache.GetPageCount(0), cache.GetPageCount(1), cache.GetPageCount(-1), takeTime)
	log.Printf(" * ")
	log.Println(` *********************************************************************************************************************************** `)

	// 标记结束
	self.finish <- true
}
开发者ID:sunqb,项目名称:pholcus,代码行数:42,代码来源:app.go



注:本文中的github.com/henrylee2cn/pholcus/runtime/cache.GetPageCount函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang teleport.New函数代码示例发布时间:2022-05-28
下一篇:
Golang context.Response类代码示例发布时间:2022-05-28
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap