代码拉取完成,页面将自动刷新
go get -u gitee.com/xuesongtao/taskpool
pushPool := lib.NewTaskPool("poolName", 10, lib.WithProGoWorker())
defer pushPool.SafeClose() // 局部使用需要使用这个进行 Close()
everyTaskHandleSum := 500
l := 50000
pushIds := []string{xxx}
totalPage := math.Ceil(float64(l) / float64(everyTaskHandleSum))
for page := 1; page <= int(totalPage); page++ {
// 根据切片分页
startIndex, endIndex := lib.GetPapeSliceIndex(int32(page), int32(everyTaskHandleSum), l)
tmpArr := pushIds[startIndex:endIndex]
i.log.Infof("startIndex: %d, endIndex: %d, total: %d", startIndex, endIndex, l)
// 阻塞式
pushPool.Submit(func() {
i.PushBatchMsg(tmpArr, info)
})
}
_example
下添加使用示例此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。