Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetStatusDescription ¶
GetStatusDescription 用于获取状态的文字描述。
Types ¶
type Args ¶
type Args interface { // Check 用于自检参数的有效性。 // 若结果值为nil,则说明未发现问题,否则就意味着自检未通过。 Check() error }
Args 代表参数容器的接口类型。
type BufferPoolSummaryStruct ¶
type BufferPoolSummaryStruct struct { BufferCap uint32 `json:"buffer_cap"` MaxBufferNumber uint32 `json:"max_buffer_number"` BufferNumber uint32 `json:"buffer_number"` Total uint64 `json:"total"` }
BufferPoolSummaryStruct 代表缓冲池的摘要类型。
type DataArgs ¶
type DataArgs struct { // ReqBufferCap 代表请求缓冲器的容量。 ReqBufferCap uint32 `json:"req_buffer_cap"` // ReqMaxBufferNumber 代表请求缓冲器的最大数量。 ReqMaxBufferNumber uint32 `json:"req_max_buffer_number"` // RespBufferCap 代表响应缓冲器的容量。 RespBufferCap uint32 `json:"resp_buffer_cap"` // RespMaxBufferNumber 代表响应缓冲器的最大数量。 RespMaxBufferNumber uint32 `json:"resp_max_buffer_number"` // ItemBufferCap 代表条目缓冲器的容量。 ItemBufferCap uint32 `json:"item_buffer_cap"` // ItemMaxBufferNumber 代表条目缓冲器的最大数量。 ItemMaxBufferNumber uint32 `json:"item_max_buffer_number"` // ErrorBufferCap 代表错误缓冲器的容量。 ErrorBufferCap uint32 `json:"error_buffer_cap"` // ErrorMaxBufferNumber 代表错误缓冲器的最大数量。 ErrorMaxBufferNumber uint32 `json:"error_max_buffer_number"` }
DataArgs 代表数据相关的参数容器的类型。
type ModuleArgs ¶
type ModuleArgs struct { // Downloaders 代表下载器列表。 Downloaders []module.Downloader // Analyzers 代表分析器列表。 Analyzers []module.Analyzer // Pipelines 代表条目处理管道管道列表。 Pipelines []module.Pipeline }
ModuleArgs 代表组件相关的参数容器的类型。
func (*ModuleArgs) Summary ¶
func (args *ModuleArgs) Summary() ModuleArgsSummary
type ModuleArgsSummary ¶
type ModuleArgsSummary struct { DownloaderListSize int `json:"downloader_list_size"` AnalyzerListSize int `json:"analyzer_list_size"` PipelineListSize int `json:"pipeline_list_size"` }
ModuleArgsSummary 代表组件相关的参数容器的摘要类型。
type RequestArgs ¶
type RequestArgs struct { // AcceptedDomains 代表可以接受的URL的主域名的列表。 // URL主域名不在列表中的请求都会被忽略, AcceptedDomains []string `json:"accepted_primary_domains"` // maxDepth 代表了需要被爬取的最大深度。 // 实际深度大于此值的请求都会被忽略。 MaxDepth uint32 `json:"max_depth"` }
RequestArgs 代表请求相关的参数容器的类型。
func (*RequestArgs) Check ¶
func (args *RequestArgs) Check() error
func (*RequestArgs) Same ¶
func (args *RequestArgs) Same(another *RequestArgs) bool
Same 用于判断两个请求相关的参数容器是否相同。
type SchedSummary ¶
type SchedSummary interface { // Struct 用于获得摘要信息的结构化形式。 Struct() SummaryStruct // String 用于获得摘要信息的字符串形式。 String() string }
SchedSummary 代表调度器摘要的接口类型。
type Scheduler ¶
type Scheduler interface { // Init 用于初始化调度器。 // 参数requestArgs代表请求相关的参数。 // 参数dataArgs代表数据相关的参数。 // 参数moduleArgs代表组件相关的参数。 Init(requestArgs RequestArgs, dataArgs DataArgs, moduleArgs ModuleArgs) (err error) // Start 用于启动调度器并执行爬取流程。 // 参数firstHTTPReq即代表首次请求。调度器会以此为起始点开始执行爬取流程。 Start(firstHTTPReq *http.Request) (err error) // Stop 用于停止调度器的运行。 // 所有处理模块执行的流程都会被中止。 Stop() (err error) // Status 用于获取调度器的状态。 Status() Status // ErrorChan 用于获得错误通道。 // 调度器以及各个处理模块运行过程中出现的所有错误都会被发送到该通道。 // 若结果值为nil,则说明错误通道不可用或调度器已被停止。 ErrorChan() <-chan error // Idle 用于判断所有处理模块是否都处于空闲状态。 Idle() bool // Summary 用于获取摘要实例。 Summary() SchedSummary }
Scheduler 代表调度器的接口类型。
type Status ¶
type Status uint8
Status 代表调度器状态的类型。
const ( // SCHED_STATUS_UNINITIALIZED 代表未初始化的状态。 SCHED_STATUS_UNINITIALIZED Status = 0 // SCHED_STATUS_INITIALIZING 代表正在初始化的状态。 SCHED_STATUS_INITIALIZING Status = 1 // SCHED_STATUS_INITIALIZED 代表已初始化的状态。 SCHED_STATUS_INITIALIZED Status = 2 // SCHED_STATUS_STARTING 代表正在启动的状态。 SCHED_STATUS_STARTING Status = 3 // SCHED_STATUS_STARTED 代表已启动的状态。 SCHED_STATUS_STARTED Status = 4 // SCHED_STATUS_STOPPING 代表正在停止的状态。 SCHED_STATUS_STOPPING Status = 5 // SCHED_STATUS_STOPPED 代表已停止的状态。 SCHED_STATUS_STOPPED Status = 6 )
type SummaryStruct ¶
type SummaryStruct struct { RequestArgs RequestArgs `json:"request_args"` DataArgs DataArgs `json:"data_args"` ModuleArgs ModuleArgsSummary `json:"module_args"` Status string `json:"status"` Downloaders []module.SummaryStruct `json:"downloaders"` Analyzers []module.SummaryStruct `json:"analyzers"` Pipelines []module.SummaryStruct `json:"pipelines"` ReqBufferPool BufferPoolSummaryStruct `json:"request_buffer_pool"` RespBufferPool BufferPoolSummaryStruct `json:"response_buffer_pool"` ItemBufferPool BufferPoolSummaryStruct `json:"item_buffer_pool"` ErrorBufferPool BufferPoolSummaryStruct `json:"error_buffer_pool"` NumURL uint64 `json:"url_number"` }
SummaryStruct 代表调度器摘要的结构。
func (*SummaryStruct) Same ¶
func (one *SummaryStruct) Same(another SummaryStruct) bool
Same 用于判断当前的调度器摘要与另一份是否相同。
Click to show internal directories.
Click to hide internal directories.