From f84746823c3e5df896191d8f92eba81852c9dba2 Mon Sep 17 00:00:00 2001 From: Joshua Smith Date: Tue, 13 May 2025 10:31:57 -0600 Subject: [PATCH 1/2] fix: add github draft to support --- backend/plugins/github/tasks/pr_extractor.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/plugins/github/tasks/pr_extractor.go b/backend/plugins/github/tasks/pr_extractor.go index 6551dedbb8d..3268b39cbfd 100644 --- a/backend/plugins/github/tasks/pr_extractor.go +++ b/backend/plugins/github/tasks/pr_extractor.go @@ -62,6 +62,7 @@ type GithubApiPullRequest struct { GithubCreatedAt common.Iso8601Time `json:"created_at"` GithubUpdatedAt common.Iso8601Time `json:"updated_at"` MergeCommitSha string `json:"merge_commit_sha"` + Draft bool `json:"draft"` Head struct { Ref string `json:"ref"` Sha string `json:"sha"` @@ -182,6 +183,7 @@ func convertGithubPullRequest(pull *GithubApiPullRequest, connId uint64, repoId BaseCommitSha: pull.Base.Sha, HeadRef: pull.Head.Ref, HeadCommitSha: pull.Head.Sha, + IsDraft: pull.Draft, } if pull.Head.Repo != nil { githubPull.HeadRepoId = pull.Head.Repo.GithubId From 93d328b3e6c86fde8cb9afcce2ef510a4283c1dc Mon Sep 17 00:00:00 2001 From: Joshua Smith Date: Fri, 16 May 2025 16:02:56 -0600 Subject: [PATCH 2/2] update tables --- .../github/e2e/raw_tables/_raw_github_api_pull_requests.csv | 2 +- .../e2e/snapshot_tables/_tool_github_pull_requests.csv | 6 +++--- .../plugins/github/e2e/snapshot_tables/pull_requests.csv | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/backend/plugins/github/e2e/raw_tables/_raw_github_api_pull_requests.csv b/backend/plugins/github/e2e/raw_tables/_raw_github_api_pull_requests.csv index aed3f01d5f1..d49b94cd06c 100644 --- a/backend/plugins/github/e2e/raw_tables/_raw_github_api_pull_requests.csv +++ b/backend/plugins/github/e2e/raw_tables/_raw_github_api_pull_requests.csv @@ -48,4 +48,4 @@ id,params,data,url,input,created_at 291,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}","{""url"":""https://api.github.com/repos/panjf2000/ants/pulls/198"",""id"":791490205,""node_id"":""PR_kwDOB_z1Gs4vLS6d"",""html_url"":""https://github.com/panjf2000/ants/pull/198"",""diff_url"":""https://github.com/panjf2000/ants/pull/198.diff"",""patch_url"":""https://github.com/panjf2000/ants/pull/198.patch"",""issue_url"":""https://api.github.com/repos/panjf2000/ants/issues/198"",""number"":198,""state"":""closed"",""locked"":false,""title"":""optimize: calculating mid in binary search"",""user"":{""login"":""qmdx00"",""id"":27898261,""node_id"":""MDQ6VXNlcjI3ODk4MjYx"",""avatar_url"":""https://avatars.githubusercontent.com/u/27898261?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/qmdx00"",""html_url"":""https://github.com/qmdx00"",""followers_url"":""https://api.github.com/users/qmdx00/followers"",""following_url"":""https://api.github.com/users/qmdx00/following{/other_user}"",""gists_url"":""https://api.github.com/users/qmdx00/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/qmdx00/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/qmdx00/subscriptions"",""organizations_url"":""https://api.github.com/users/qmdx00/orgs"",""repos_url"":""https://api.github.com/users/qmdx00/repos"",""events_url"":""https://api.github.com/users/qmdx00/events{/privacy}"",""received_events_url"":""https://api.github.com/users/qmdx00/received_events"",""type"":""User"",""site_admin"":false},""body"":""---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: ''\r\nlabels: ''\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nOptimization.\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\nTo avoid calculating mid overflow, see [stackoverflow](https://stackoverflow.com/questions/6735259/calculating-mid-in-binary-search) discussion.\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [ ] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [ ] (optional) I am willing to help maintain this change if there are issues with it later.\r\n"",""created_at"":""2021-11-30T09:34:02Z"",""updated_at"":""2021-12-01T00:42:16Z"",""closed_at"":""2021-12-01T00:42:16Z"",""merged_at"":null,""merge_commit_sha"":""0a67f19748a39459ab7b84e0bb89d9314e751433"",""assignee"":null,""assignees"":[],""requested_reviewers"":[],""requested_teams"":[],""labels"":[],""milestone"":null,""draft"":false,""commits_url"":""https://api.github.com/repos/panjf2000/ants/pulls/198/commits"",""review_comments_url"":""https://api.github.com/repos/panjf2000/ants/pulls/198/comments"",""review_comment_url"":""https://api.github.com/repos/panjf2000/ants/pulls/comments{/number}"",""comments_url"":""https://api.github.com/repos/panjf2000/ants/issues/198/comments"",""statuses_url"":""https://api.github.com/repos/panjf2000/ants/statuses/c038cb6a3fdb41292378e91098b5badff5adb8f4"",""head"":{""label"":""qmdx00:optimize-calculating-mid"",""ref"":""optimize-calculating-mid"",""sha"":""c038cb6a3fdb41292378e91098b5badff5adb8f4"",""user"":{""login"":""qmdx00"",""id"":27898261,""node_id"":""MDQ6VXNlcjI3ODk4MjYx"",""avatar_url"":""https://avatars.githubusercontent.com/u/27898261?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/qmdx00"",""html_url"":""https://github.com/qmdx00"",""followers_url"":""https://api.github.com/users/qmdx00/followers"",""following_url"":""https://api.github.com/users/qmdx00/following{/other_user}"",""gists_url"":""https://api.github.com/users/qmdx00/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/qmdx00/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/qmdx00/subscriptions"",""organizations_url"":""https://api.github.com/users/qmdx00/orgs"",""repos_url"":""https://api.github.com/users/qmdx00/repos"",""events_url"":""https://api.github.com/users/qmdx00/events{/privacy}"",""received_events_url"":""https://api.github.com/users/qmdx00/received_events"",""type"":""User"",""site_admin"":false},""repo"":null},""base"":{""label"":""panjf2000:master"",""ref"":""master"",""sha"":""1e897421860606afc3d1304cafe5cd187cee13e9"",""user"":{""login"":""panjf2000"",""id"":7496278,""node_id"":""MDQ6VXNlcjc0OTYyNzg="",""avatar_url"":""https://avatars.githubusercontent.com/u/7496278?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/panjf2000"",""html_url"":""https://github.com/panjf2000"",""followers_url"":""https://api.github.com/users/panjf2000/followers"",""following_url"":""https://api.github.com/users/panjf2000/following{/other_user}"",""gists_url"":""https://api.github.com/users/panjf2000/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/panjf2000/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/panjf2000/subscriptions"",""organizations_url"":""https://api.github.com/users/panjf2000/orgs"",""repos_url"":""https://api.github.com/users/panjf2000/repos"",""events_url"":""https://api.github.com/users/panjf2000/events{/privacy}"",""received_events_url"":""https://api.github.com/users/panjf2000/received_events"",""type"":""User"",""site_admin"":false},""repo"":{""id"":134018330,""node_id"":""MDEwOlJlcG9zaXRvcnkxMzQwMTgzMzA="",""name"":""ants"",""full_name"":""panjf2000/ants"",""private"":false,""owner"":{""login"":""panjf2000"",""id"":7496278,""node_id"":""MDQ6VXNlcjc0OTYyNzg="",""avatar_url"":""https://avatars.githubusercontent.com/u/7496278?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/panjf2000"",""html_url"":""https://github.com/panjf2000"",""followers_url"":""https://api.github.com/users/panjf2000/followers"",""following_url"":""https://api.github.com/users/panjf2000/following{/other_user}"",""gists_url"":""https://api.github.com/users/panjf2000/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/panjf2000/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/panjf2000/subscriptions"",""organizations_url"":""https://api.github.com/users/panjf2000/orgs"",""repos_url"":""https://api.github.com/users/panjf2000/repos"",""events_url"":""https://api.github.com/users/panjf2000/events{/privacy}"",""received_events_url"":""https://api.github.com/users/panjf2000/received_events"",""type"":""User"",""site_admin"":false},""html_url"":""https://github.com/panjf2000/ants"",""description"":""🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go, inspired by fasthttp./ ants chinese goroutine chinese 。"",""fork"":false,""url"":""https://api.github.com/repos/panjf2000/ants"",""forks_url"":""https://api.github.com/repos/panjf2000/ants/forks"",""keys_url"":""https://api.github.com/repos/panjf2000/ants/keys{/key_id}"",""collaborators_url"":""https://api.github.com/repos/panjf2000/ants/collaborators{/collaborator}"",""teams_url"":""https://api.github.com/repos/panjf2000/ants/teams"",""hooks_url"":""https://api.github.com/repos/panjf2000/ants/hooks"",""issue_events_url"":""https://api.github.com/repos/panjf2000/ants/issues/events{/number}"",""events_url"":""https://api.github.com/repos/panjf2000/ants/events"",""assignees_url"":""https://api.github.com/repos/panjf2000/ants/assignees{/user}"",""branches_url"":""https://api.github.com/repos/panjf2000/ants/branches{/branch}"",""tags_url"":""https://api.github.com/repos/panjf2000/ants/tags"",""blobs_url"":""https://api.github.com/repos/panjf2000/ants/git/blobs{/sha}"",""git_tags_url"":""https://api.github.com/repos/panjf2000/ants/git/tags{/sha}"",""git_refs_url"":""https://api.github.com/repos/panjf2000/ants/git/refs{/sha}"",""trees_url"":""https://api.github.com/repos/panjf2000/ants/git/trees{/sha}"",""statuses_url"":""https://api.github.com/repos/panjf2000/ants/statuses/{sha}"",""languages_url"":""https://api.github.com/repos/panjf2000/ants/languages"",""stargazers_url"":""https://api.github.com/repos/panjf2000/ants/stargazers"",""contributors_url"":""https://api.github.com/repos/panjf2000/ants/contributors"",""subscribers_url"":""https://api.github.com/repos/panjf2000/ants/subscribers"",""subscription_url"":""https://api.github.com/repos/panjf2000/ants/subscription"",""commits_url"":""https://api.github.com/repos/panjf2000/ants/commits{/sha}"",""git_commits_url"":""https://api.github.com/repos/panjf2000/ants/git/commits{/sha}"",""comments_url"":""https://api.github.com/repos/panjf2000/ants/comments{/number}"",""issue_comment_url"":""https://api.github.com/repos/panjf2000/ants/issues/comments{/number}"",""contents_url"":""https://api.github.com/repos/panjf2000/ants/contents/{+path}"",""compare_url"":""https://api.github.com/repos/panjf2000/ants/compare/{base}...{head}"",""merges_url"":""https://api.github.com/repos/panjf2000/ants/merges"",""archive_url"":""https://api.github.com/repos/panjf2000/ants/{archive_format}{/ref}"",""downloads_url"":""https://api.github.com/repos/panjf2000/ants/downloads"",""issues_url"":""https://api.github.com/repos/panjf2000/ants/issues{/number}"",""pulls_url"":""https://api.github.com/repos/panjf2000/ants/pulls{/number}"",""milestones_url"":""https://api.github.com/repos/panjf2000/ants/milestones{/number}"",""notifications_url"":""https://api.github.com/repos/panjf2000/ants/notifications{?since,all,participating}"",""labels_url"":""https://api.github.com/repos/panjf2000/ants/labels{/name}"",""releases_url"":""https://api.github.com/repos/panjf2000/ants/releases{/id}"",""deployments_url"":""https://api.github.com/repos/panjf2000/ants/deployments"",""created_at"":""2018-05-19T01:13:38Z"",""updated_at"":""2022-06-13T15:27:54Z"",""pushed_at"":""2022-06-10T01:54:29Z"",""git_url"":""git://github.com/panjf2000/ants.git"",""ssh_url"":""git@github.com:panjf2000/ants.git"",""clone_url"":""https://github.com/panjf2000/ants.git"",""svn_url"":""https://github.com/panjf2000/ants"",""homepage"":""https://ants.andypan.me"",""size"":1821,""stargazers_count"":8433,""watchers_count"":8433,""language"":""Go"",""has_issues"":true,""has_projects"":true,""has_downloads"":true,""has_wiki"":true,""has_pages"":false,""forks_count"":1028,""mirror_url"":null,""archived"":false,""disabled"":false,""open_issues_count"":25,""license"":{""key"":""mit"",""name"":""MIT License"",""spdx_id"":""MIT"",""url"":""https://api.github.com/licenses/mit"",""node_id"":""MDc6TGljZW5zZTEz""},""allow_forking"":true,""is_template"":false,""topics"":[""ants"",""go"",""goroutine"",""goroutine-pool"",""pool"",""worker-pool""],""visibility"":""public"",""forks"":1028,""open_issues"":25,""watchers"":8433,""default_branch"":""master""}},""_links"":{""self"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/198""},""html"":{""href"":""https://github.com/panjf2000/ants/pull/198""},""issue"":{""href"":""https://api.github.com/repos/panjf2000/ants/issues/198""},""comments"":{""href"":""https://api.github.com/repos/panjf2000/ants/issues/198/comments""},""review_comments"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/198/comments""},""review_comment"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/comments{/number}""},""commits"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/198/commits""},""statuses"":{""href"":""https://api.github.com/repos/panjf2000/ants/statuses/c038cb6a3fdb41292378e91098b5badff5adb8f4""}},""author_association"":""NONE"",""auto_merge"":null,""active_lock_reason"":null}",https://api.github.com/repos/panjf2000/ants/pulls?direction=asc&page=1&per_page=100&state=all,null,2022-06-13 15:35:59.146764+00:00 292,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}","{""url"":""https://api.github.com/repos/panjf2000/ants/pulls/206"",""id"":816835878,""node_id"":""PR_kwDOB_z1Gs4wr-0m"",""html_url"":""https://github.com/panjf2000/ants/pull/206"",""diff_url"":""https://github.com/panjf2000/ants/pull/206.diff"",""patch_url"":""https://github.com/panjf2000/ants/pull/206.patch"",""issue_url"":""https://api.github.com/repos/panjf2000/ants/issues/206"",""number"":206,""state"":""closed"",""locked"":false,""title"":""Add binarysearch of loop queue"",""user"":{""login"":""bright2227"",""id"":64823610,""node_id"":""MDQ6VXNlcjY0ODIzNjEw"",""avatar_url"":""https://avatars.githubusercontent.com/u/64823610?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/bright2227"",""html_url"":""https://github.com/bright2227"",""followers_url"":""https://api.github.com/users/bright2227/followers"",""following_url"":""https://api.github.com/users/bright2227/following{/other_user}"",""gists_url"":""https://api.github.com/users/bright2227/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/bright2227/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/bright2227/subscriptions"",""organizations_url"":""https://api.github.com/users/bright2227/orgs"",""repos_url"":""https://api.github.com/users/bright2227/repos"",""events_url"":""https://api.github.com/users/bright2227/events{/privacy}"",""received_events_url"":""https://api.github.com/users/bright2227/received_events"",""type"":""User"",""site_admin"":false},""body"":""---\r\nname: Pull request\r\nabout: Add binarysearch method to loop_queue to get expired workers, just like worker_stack.\r\ntitle: ''\r\nlabels: ''\r\nassignees: 'bright2227'\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\noptimizations \r\n\r\n\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\nI found that loop_queue had an intention to use binarysearch method, just like worker_stack. But it's removed before being merged into the master branch due to some bugs. I mapped true positions to imaginary positions before using binarysearch method and also add some tests to make sure it works.\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\nhttps://github.com/panjf2000/ants/pull/53#pullrequestreview-299506068\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\nNo need.\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [ ] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [x] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n"",""created_at"":""2022-01-08T10:06:36Z"",""updated_at"":""2022-01-31T02:49:04Z"",""closed_at"":""2022-01-31T02:49:03Z"",""merged_at"":""2022-01-31T02:49:03Z"",""merge_commit_sha"":""1bd4304727b2ea62ec243f3145389d6ffe3607cf"",""assignee"":null,""assignees"":[],""requested_reviewers"":[],""requested_teams"":[],""labels"":[],""milestone"":null,""draft"":false,""commits_url"":""https://api.github.com/repos/panjf2000/ants/pulls/206/commits"",""review_comments_url"":""https://api.github.com/repos/panjf2000/ants/pulls/206/comments"",""review_comment_url"":""https://api.github.com/repos/panjf2000/ants/pulls/comments{/number}"",""comments_url"":""https://api.github.com/repos/panjf2000/ants/issues/206/comments"",""statuses_url"":""https://api.github.com/repos/panjf2000/ants/statuses/1b95a084ac08cd34e247b5d3d0063778cfc14748"",""head"":{""label"":""bright2227:add_binarysearch_of_loop_q"",""ref"":""add_binarysearch_of_loop_q"",""sha"":""1b95a084ac08cd34e247b5d3d0063778cfc14748"",""user"":{""login"":""bright2227"",""id"":64823610,""node_id"":""MDQ6VXNlcjY0ODIzNjEw"",""avatar_url"":""https://avatars.githubusercontent.com/u/64823610?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/bright2227"",""html_url"":""https://github.com/bright2227"",""followers_url"":""https://api.github.com/users/bright2227/followers"",""following_url"":""https://api.github.com/users/bright2227/following{/other_user}"",""gists_url"":""https://api.github.com/users/bright2227/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/bright2227/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/bright2227/subscriptions"",""organizations_url"":""https://api.github.com/users/bright2227/orgs"",""repos_url"":""https://api.github.com/users/bright2227/repos"",""events_url"":""https://api.github.com/users/bright2227/events{/privacy}"",""received_events_url"":""https://api.github.com/users/bright2227/received_events"",""type"":""User"",""site_admin"":false},""repo"":{""id"":445578800,""node_id"":""R_kgDOGo7-MA"",""name"":""ants"",""full_name"":""bright2227/ants"",""private"":false,""owner"":{""login"":""bright2227"",""id"":64823610,""node_id"":""MDQ6VXNlcjY0ODIzNjEw"",""avatar_url"":""https://avatars.githubusercontent.com/u/64823610?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/bright2227"",""html_url"":""https://github.com/bright2227"",""followers_url"":""https://api.github.com/users/bright2227/followers"",""following_url"":""https://api.github.com/users/bright2227/following{/other_user}"",""gists_url"":""https://api.github.com/users/bright2227/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/bright2227/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/bright2227/subscriptions"",""organizations_url"":""https://api.github.com/users/bright2227/orgs"",""repos_url"":""https://api.github.com/users/bright2227/repos"",""events_url"":""https://api.github.com/users/bright2227/events{/privacy}"",""received_events_url"":""https://api.github.com/users/bright2227/received_events"",""type"":""User"",""site_admin"":false},""html_url"":""https://github.com/bright2227/ants"",""description"":""🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go, inspired by fasthttp./ ants chinese goroutine chinese 。"",""fork"":true,""url"":""https://api.github.com/repos/bright2227/ants"",""forks_url"":""https://api.github.com/repos/bright2227/ants/forks"",""keys_url"":""https://api.github.com/repos/bright2227/ants/keys{/key_id}"",""collaborators_url"":""https://api.github.com/repos/bright2227/ants/collaborators{/collaborator}"",""teams_url"":""https://api.github.com/repos/bright2227/ants/teams"",""hooks_url"":""https://api.github.com/repos/bright2227/ants/hooks"",""issue_events_url"":""https://api.github.com/repos/bright2227/ants/issues/events{/number}"",""events_url"":""https://api.github.com/repos/bright2227/ants/events"",""assignees_url"":""https://api.github.com/repos/bright2227/ants/assignees{/user}"",""branches_url"":""https://api.github.com/repos/bright2227/ants/branches{/branch}"",""tags_url"":""https://api.github.com/repos/bright2227/ants/tags"",""blobs_url"":""https://api.github.com/repos/bright2227/ants/git/blobs{/sha}"",""git_tags_url"":""https://api.github.com/repos/bright2227/ants/git/tags{/sha}"",""git_refs_url"":""https://api.github.com/repos/bright2227/ants/git/refs{/sha}"",""trees_url"":""https://api.github.com/repos/bright2227/ants/git/trees{/sha}"",""statuses_url"":""https://api.github.com/repos/bright2227/ants/statuses/{sha}"",""languages_url"":""https://api.github.com/repos/bright2227/ants/languages"",""stargazers_url"":""https://api.github.com/repos/bright2227/ants/stargazers"",""contributors_url"":""https://api.github.com/repos/bright2227/ants/contributors"",""subscribers_url"":""https://api.github.com/repos/bright2227/ants/subscribers"",""subscription_url"":""https://api.github.com/repos/bright2227/ants/subscription"",""commits_url"":""https://api.github.com/repos/bright2227/ants/commits{/sha}"",""git_commits_url"":""https://api.github.com/repos/bright2227/ants/git/commits{/sha}"",""comments_url"":""https://api.github.com/repos/bright2227/ants/comments{/number}"",""issue_comment_url"":""https://api.github.com/repos/bright2227/ants/issues/comments{/number}"",""contents_url"":""https://api.github.com/repos/bright2227/ants/contents/{+path}"",""compare_url"":""https://api.github.com/repos/bright2227/ants/compare/{base}...{head}"",""merges_url"":""https://api.github.com/repos/bright2227/ants/merges"",""archive_url"":""https://api.github.com/repos/bright2227/ants/{archive_format}{/ref}"",""downloads_url"":""https://api.github.com/repos/bright2227/ants/downloads"",""issues_url"":""https://api.github.com/repos/bright2227/ants/issues{/number}"",""pulls_url"":""https://api.github.com/repos/bright2227/ants/pulls{/number}"",""milestones_url"":""https://api.github.com/repos/bright2227/ants/milestones{/number}"",""notifications_url"":""https://api.github.com/repos/bright2227/ants/notifications{?since,all,participating}"",""labels_url"":""https://api.github.com/repos/bright2227/ants/labels{/name}"",""releases_url"":""https://api.github.com/repos/bright2227/ants/releases{/id}"",""deployments_url"":""https://api.github.com/repos/bright2227/ants/deployments"",""created_at"":""2022-01-07T16:09:51Z"",""updated_at"":""2022-01-08T09:34:55Z"",""pushed_at"":""2022-03-07T00:54:51Z"",""git_url"":""git://github.com/bright2227/ants.git"",""ssh_url"":""git@github.com:bright2227/ants.git"",""clone_url"":""https://github.com/bright2227/ants.git"",""svn_url"":""https://github.com/bright2227/ants"",""homepage"":""https://ants.andypan.me"",""size"":1984,""stargazers_count"":0,""watchers_count"":0,""language"":""Go"",""has_issues"":false,""has_projects"":true,""has_downloads"":true,""has_wiki"":true,""has_pages"":false,""forks_count"":0,""mirror_url"":null,""archived"":false,""disabled"":false,""open_issues_count"":0,""license"":{""key"":""mit"",""name"":""MIT License"",""spdx_id"":""MIT"",""url"":""https://api.github.com/licenses/mit"",""node_id"":""MDc6TGljZW5zZTEz""},""allow_forking"":true,""is_template"":false,""topics"":[],""visibility"":""public"",""forks"":0,""open_issues"":0,""watchers"":0,""default_branch"":""master""}},""base"":{""label"":""panjf2000:master"",""ref"":""master"",""sha"":""1e897421860606afc3d1304cafe5cd187cee13e9"",""user"":{""login"":""panjf2000"",""id"":7496278,""node_id"":""MDQ6VXNlcjc0OTYyNzg="",""avatar_url"":""https://avatars.githubusercontent.com/u/7496278?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/panjf2000"",""html_url"":""https://github.com/panjf2000"",""followers_url"":""https://api.github.com/users/panjf2000/followers"",""following_url"":""https://api.github.com/users/panjf2000/following{/other_user}"",""gists_url"":""https://api.github.com/users/panjf2000/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/panjf2000/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/panjf2000/subscriptions"",""organizations_url"":""https://api.github.com/users/panjf2000/orgs"",""repos_url"":""https://api.github.com/users/panjf2000/repos"",""events_url"":""https://api.github.com/users/panjf2000/events{/privacy}"",""received_events_url"":""https://api.github.com/users/panjf2000/received_events"",""type"":""User"",""site_admin"":false},""repo"":{""id"":134018330,""node_id"":""MDEwOlJlcG9zaXRvcnkxMzQwMTgzMzA="",""name"":""ants"",""full_name"":""panjf2000/ants"",""private"":false,""owner"":{""login"":""panjf2000"",""id"":7496278,""node_id"":""MDQ6VXNlcjc0OTYyNzg="",""avatar_url"":""https://avatars.githubusercontent.com/u/7496278?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/panjf2000"",""html_url"":""https://github.com/panjf2000"",""followers_url"":""https://api.github.com/users/panjf2000/followers"",""following_url"":""https://api.github.com/users/panjf2000/following{/other_user}"",""gists_url"":""https://api.github.com/users/panjf2000/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/panjf2000/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/panjf2000/subscriptions"",""organizations_url"":""https://api.github.com/users/panjf2000/orgs"",""repos_url"":""https://api.github.com/users/panjf2000/repos"",""events_url"":""https://api.github.com/users/panjf2000/events{/privacy}"",""received_events_url"":""https://api.github.com/users/panjf2000/received_events"",""type"":""User"",""site_admin"":false},""html_url"":""https://github.com/panjf2000/ants"",""description"":""🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go, inspired by fasthttp./ ants chinese goroutine chinese 。"",""fork"":false,""url"":""https://api.github.com/repos/panjf2000/ants"",""forks_url"":""https://api.github.com/repos/panjf2000/ants/forks"",""keys_url"":""https://api.github.com/repos/panjf2000/ants/keys{/key_id}"",""collaborators_url"":""https://api.github.com/repos/panjf2000/ants/collaborators{/collaborator}"",""teams_url"":""https://api.github.com/repos/panjf2000/ants/teams"",""hooks_url"":""https://api.github.com/repos/panjf2000/ants/hooks"",""issue_events_url"":""https://api.github.com/repos/panjf2000/ants/issues/events{/number}"",""events_url"":""https://api.github.com/repos/panjf2000/ants/events"",""assignees_url"":""https://api.github.com/repos/panjf2000/ants/assignees{/user}"",""branches_url"":""https://api.github.com/repos/panjf2000/ants/branches{/branch}"",""tags_url"":""https://api.github.com/repos/panjf2000/ants/tags"",""blobs_url"":""https://api.github.com/repos/panjf2000/ants/git/blobs{/sha}"",""git_tags_url"":""https://api.github.com/repos/panjf2000/ants/git/tags{/sha}"",""git_refs_url"":""https://api.github.com/repos/panjf2000/ants/git/refs{/sha}"",""trees_url"":""https://api.github.com/repos/panjf2000/ants/git/trees{/sha}"",""statuses_url"":""https://api.github.com/repos/panjf2000/ants/statuses/{sha}"",""languages_url"":""https://api.github.com/repos/panjf2000/ants/languages"",""stargazers_url"":""https://api.github.com/repos/panjf2000/ants/stargazers"",""contributors_url"":""https://api.github.com/repos/panjf2000/ants/contributors"",""subscribers_url"":""https://api.github.com/repos/panjf2000/ants/subscribers"",""subscription_url"":""https://api.github.com/repos/panjf2000/ants/subscription"",""commits_url"":""https://api.github.com/repos/panjf2000/ants/commits{/sha}"",""git_commits_url"":""https://api.github.com/repos/panjf2000/ants/git/commits{/sha}"",""comments_url"":""https://api.github.com/repos/panjf2000/ants/comments{/number}"",""issue_comment_url"":""https://api.github.com/repos/panjf2000/ants/issues/comments{/number}"",""contents_url"":""https://api.github.com/repos/panjf2000/ants/contents/{+path}"",""compare_url"":""https://api.github.com/repos/panjf2000/ants/compare/{base}...{head}"",""merges_url"":""https://api.github.com/repos/panjf2000/ants/merges"",""archive_url"":""https://api.github.com/repos/panjf2000/ants/{archive_format}{/ref}"",""downloads_url"":""https://api.github.com/repos/panjf2000/ants/downloads"",""issues_url"":""https://api.github.com/repos/panjf2000/ants/issues{/number}"",""pulls_url"":""https://api.github.com/repos/panjf2000/ants/pulls{/number}"",""milestones_url"":""https://api.github.com/repos/panjf2000/ants/milestones{/number}"",""notifications_url"":""https://api.github.com/repos/panjf2000/ants/notifications{?since,all,participating}"",""labels_url"":""https://api.github.com/repos/panjf2000/ants/labels{/name}"",""releases_url"":""https://api.github.com/repos/panjf2000/ants/releases{/id}"",""deployments_url"":""https://api.github.com/repos/panjf2000/ants/deployments"",""created_at"":""2018-05-19T01:13:38Z"",""updated_at"":""2022-06-13T15:27:54Z"",""pushed_at"":""2022-06-10T01:54:29Z"",""git_url"":""git://github.com/panjf2000/ants.git"",""ssh_url"":""git@github.com:panjf2000/ants.git"",""clone_url"":""https://github.com/panjf2000/ants.git"",""svn_url"":""https://github.com/panjf2000/ants"",""homepage"":""https://ants.andypan.me"",""size"":1821,""stargazers_count"":8433,""watchers_count"":8433,""language"":""Go"",""has_issues"":true,""has_projects"":true,""has_downloads"":true,""has_wiki"":true,""has_pages"":false,""forks_count"":1028,""mirror_url"":null,""archived"":false,""disabled"":false,""open_issues_count"":25,""license"":{""key"":""mit"",""name"":""MIT License"",""spdx_id"":""MIT"",""url"":""https://api.github.com/licenses/mit"",""node_id"":""MDc6TGljZW5zZTEz""},""allow_forking"":true,""is_template"":false,""topics"":[""ants"",""go"",""goroutine"",""goroutine-pool"",""pool"",""worker-pool""],""visibility"":""public"",""forks"":1028,""open_issues"":25,""watchers"":8433,""default_branch"":""master""}},""_links"":{""self"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/206""},""html"":{""href"":""https://github.com/panjf2000/ants/pull/206""},""issue"":{""href"":""https://api.github.com/repos/panjf2000/ants/issues/206""},""comments"":{""href"":""https://api.github.com/repos/panjf2000/ants/issues/206/comments""},""review_comments"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/206/comments""},""review_comment"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/comments{/number}""},""commits"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/206/commits""},""statuses"":{""href"":""https://api.github.com/repos/panjf2000/ants/statuses/1b95a084ac08cd34e247b5d3d0063778cfc14748""}},""author_association"":""CONTRIBUTOR"",""auto_merge"":null,""active_lock_reason"":null}",https://api.github.com/repos/panjf2000/ants/pulls?direction=asc&page=1&per_page=100&state=all,null,2022-06-13 15:35:59.146764+00:00 293,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}","{""url"":""https://api.github.com/repos/panjf2000/ants/pulls/210"",""id"":835038436,""node_id"":""PR_kwDOB_z1Gs4xxazk"",""html_url"":""https://github.com/panjf2000/ants/pull/210"",""diff_url"":""https://github.com/panjf2000/ants/pull/210.diff"",""patch_url"":""https://github.com/panjf2000/ants/pull/210.patch"",""issue_url"":""https://api.github.com/repos/panjf2000/ants/issues/210"",""number"":210,""state"":""closed"",""locked"":false,""title"":""Awake the blocking callers when Tune(size int) is invoked to expand the pool"",""user"":{""login"":""codingfanlt"",""id"":35493957,""node_id"":""MDQ6VXNlcjM1NDkzOTU3"",""avatar_url"":""https://avatars.githubusercontent.com/u/35493957?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/codingfanlt"",""html_url"":""https://github.com/codingfanlt"",""followers_url"":""https://api.github.com/users/codingfanlt/followers"",""following_url"":""https://api.github.com/users/codingfanlt/following{/other_user}"",""gists_url"":""https://api.github.com/users/codingfanlt/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/codingfanlt/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/codingfanlt/subscriptions"",""organizations_url"":""https://api.github.com/users/codingfanlt/orgs"",""repos_url"":""https://api.github.com/users/codingfanlt/repos"",""events_url"":""https://api.github.com/users/codingfanlt/events{/privacy}"",""received_events_url"":""https://api.github.com/users/codingfanlt/received_events"",""type"":""User"",""site_admin"":false},""body"":""…capacity\r\n\r\n---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: 'Instantly scale up capacity when using Tune(size int) to enlarge the capacity'\r\nlabels: 'enhancement'\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nWhen using Tune(size int) to enlarge the capacity, create a worker immediately to perform blocking tasks.\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\nclose #205 \r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [x] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n"",""created_at"":""2022-01-29T08:01:24Z"",""updated_at"":""2022-04-14T17:31:43Z"",""closed_at"":""2022-02-14T13:51:41Z"",""merged_at"":""2022-02-14T13:51:40Z"",""merge_commit_sha"":""fbd17036dbf5ae677ba9e41326745a65e655232f"",""assignee"":null,""assignees"":[],""requested_reviewers"":[],""requested_teams"":[],""labels"":[],""milestone"":null,""draft"":false,""commits_url"":""https://api.github.com/repos/panjf2000/ants/pulls/210/commits"",""review_comments_url"":""https://api.github.com/repos/panjf2000/ants/pulls/210/comments"",""review_comment_url"":""https://api.github.com/repos/panjf2000/ants/pulls/comments{/number}"",""comments_url"":""https://api.github.com/repos/panjf2000/ants/issues/210/comments"",""statuses_url"":""https://api.github.com/repos/panjf2000/ants/statuses/0e17530397bcec737dd9a77fc9589a6866ec4f6e"",""head"":{""label"":""codingfanlt:feat/instantly-scale-up-capacity"",""ref"":""feat/instantly-scale-up-capacity"",""sha"":""0e17530397bcec737dd9a77fc9589a6866ec4f6e"",""user"":{""login"":""codingfanlt"",""id"":35493957,""node_id"":""MDQ6VXNlcjM1NDkzOTU3"",""avatar_url"":""https://avatars.githubusercontent.com/u/35493957?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/codingfanlt"",""html_url"":""https://github.com/codingfanlt"",""followers_url"":""https://api.github.com/users/codingfanlt/followers"",""following_url"":""https://api.github.com/users/codingfanlt/following{/other_user}"",""gists_url"":""https://api.github.com/users/codingfanlt/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/codingfanlt/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/codingfanlt/subscriptions"",""organizations_url"":""https://api.github.com/users/codingfanlt/orgs"",""repos_url"":""https://api.github.com/users/codingfanlt/repos"",""events_url"":""https://api.github.com/users/codingfanlt/events{/privacy}"",""received_events_url"":""https://api.github.com/users/codingfanlt/received_events"",""type"":""User"",""site_admin"":false},""repo"":{""id"":449536867,""node_id"":""R_kgDOGstjYw"",""name"":""ants"",""full_name"":""codingfanlt/ants"",""private"":false,""owner"":{""login"":""codingfanlt"",""id"":35493957,""node_id"":""MDQ6VXNlcjM1NDkzOTU3"",""avatar_url"":""https://avatars.githubusercontent.com/u/35493957?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/codingfanlt"",""html_url"":""https://github.com/codingfanlt"",""followers_url"":""https://api.github.com/users/codingfanlt/followers"",""following_url"":""https://api.github.com/users/codingfanlt/following{/other_user}"",""gists_url"":""https://api.github.com/users/codingfanlt/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/codingfanlt/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/codingfanlt/subscriptions"",""organizations_url"":""https://api.github.com/users/codingfanlt/orgs"",""repos_url"":""https://api.github.com/users/codingfanlt/repos"",""events_url"":""https://api.github.com/users/codingfanlt/events{/privacy}"",""received_events_url"":""https://api.github.com/users/codingfanlt/received_events"",""type"":""User"",""site_admin"":false},""html_url"":""https://github.com/codingfanlt/ants"",""description"":""🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go, inspired by fasthttp./ ants chinese goroutine chinese 。"",""fork"":true,""url"":""https://api.github.com/repos/codingfanlt/ants"",""forks_url"":""https://api.github.com/repos/codingfanlt/ants/forks"",""keys_url"":""https://api.github.com/repos/codingfanlt/ants/keys{/key_id}"",""collaborators_url"":""https://api.github.com/repos/codingfanlt/ants/collaborators{/collaborator}"",""teams_url"":""https://api.github.com/repos/codingfanlt/ants/teams"",""hooks_url"":""https://api.github.com/repos/codingfanlt/ants/hooks"",""issue_events_url"":""https://api.github.com/repos/codingfanlt/ants/issues/events{/number}"",""events_url"":""https://api.github.com/repos/codingfanlt/ants/events"",""assignees_url"":""https://api.github.com/repos/codingfanlt/ants/assignees{/user}"",""branches_url"":""https://api.github.com/repos/codingfanlt/ants/branches{/branch}"",""tags_url"":""https://api.github.com/repos/codingfanlt/ants/tags"",""blobs_url"":""https://api.github.com/repos/codingfanlt/ants/git/blobs{/sha}"",""git_tags_url"":""https://api.github.com/repos/codingfanlt/ants/git/tags{/sha}"",""git_refs_url"":""https://api.github.com/repos/codingfanlt/ants/git/refs{/sha}"",""trees_url"":""https://api.github.com/repos/codingfanlt/ants/git/trees{/sha}"",""statuses_url"":""https://api.github.com/repos/codingfanlt/ants/statuses/{sha}"",""languages_url"":""https://api.github.com/repos/codingfanlt/ants/languages"",""stargazers_url"":""https://api.github.com/repos/codingfanlt/ants/stargazers"",""contributors_url"":""https://api.github.com/repos/codingfanlt/ants/contributors"",""subscribers_url"":""https://api.github.com/repos/codingfanlt/ants/subscribers"",""subscription_url"":""https://api.github.com/repos/codingfanlt/ants/subscription"",""commits_url"":""https://api.github.com/repos/codingfanlt/ants/commits{/sha}"",""git_commits_url"":""https://api.github.com/repos/codingfanlt/ants/git/commits{/sha}"",""comments_url"":""https://api.github.com/repos/codingfanlt/ants/comments{/number}"",""issue_comment_url"":""https://api.github.com/repos/codingfanlt/ants/issues/comments{/number}"",""contents_url"":""https://api.github.com/repos/codingfanlt/ants/contents/{+path}"",""compare_url"":""https://api.github.com/repos/codingfanlt/ants/compare/{base}...{head}"",""merges_url"":""https://api.github.com/repos/codingfanlt/ants/merges"",""archive_url"":""https://api.github.com/repos/codingfanlt/ants/{archive_format}{/ref}"",""downloads_url"":""https://api.github.com/repos/codingfanlt/ants/downloads"",""issues_url"":""https://api.github.com/repos/codingfanlt/ants/issues{/number}"",""pulls_url"":""https://api.github.com/repos/codingfanlt/ants/pulls{/number}"",""milestones_url"":""https://api.github.com/repos/codingfanlt/ants/milestones{/number}"",""notifications_url"":""https://api.github.com/repos/codingfanlt/ants/notifications{?since,all,participating}"",""labels_url"":""https://api.github.com/repos/codingfanlt/ants/labels{/name}"",""releases_url"":""https://api.github.com/repos/codingfanlt/ants/releases{/id}"",""deployments_url"":""https://api.github.com/repos/codingfanlt/ants/deployments"",""created_at"":""2022-01-19T03:43:32Z"",""updated_at"":""2022-02-19T15:54:24Z"",""pushed_at"":""2022-04-14T17:31:43Z"",""git_url"":""git://github.com/codingfanlt/ants.git"",""ssh_url"":""git@github.com:codingfanlt/ants.git"",""clone_url"":""https://github.com/codingfanlt/ants.git"",""svn_url"":""https://github.com/codingfanlt/ants"",""homepage"":""https://ants.andypan.me"",""size"":2029,""stargazers_count"":0,""watchers_count"":0,""language"":""Go"",""has_issues"":false,""has_projects"":true,""has_downloads"":true,""has_wiki"":true,""has_pages"":false,""forks_count"":0,""mirror_url"":null,""archived"":false,""disabled"":false,""open_issues_count"":0,""license"":{""key"":""mit"",""name"":""MIT License"",""spdx_id"":""MIT"",""url"":""https://api.github.com/licenses/mit"",""node_id"":""MDc6TGljZW5zZTEz""},""allow_forking"":true,""is_template"":false,""topics"":[],""visibility"":""public"",""forks"":0,""open_issues"":0,""watchers"":0,""default_branch"":""master""}},""base"":{""label"":""panjf2000:master"",""ref"":""master"",""sha"":""0fa2fd6dc1811f81026a252854f4a8c0471ac7b0"",""user"":{""login"":""panjf2000"",""id"":7496278,""node_id"":""MDQ6VXNlcjc0OTYyNzg="",""avatar_url"":""https://avatars.githubusercontent.com/u/7496278?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/panjf2000"",""html_url"":""https://github.com/panjf2000"",""followers_url"":""https://api.github.com/users/panjf2000/followers"",""following_url"":""https://api.github.com/users/panjf2000/following{/other_user}"",""gists_url"":""https://api.github.com/users/panjf2000/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/panjf2000/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/panjf2000/subscriptions"",""organizations_url"":""https://api.github.com/users/panjf2000/orgs"",""repos_url"":""https://api.github.com/users/panjf2000/repos"",""events_url"":""https://api.github.com/users/panjf2000/events{/privacy}"",""received_events_url"":""https://api.github.com/users/panjf2000/received_events"",""type"":""User"",""site_admin"":false},""repo"":{""id"":134018330,""node_id"":""MDEwOlJlcG9zaXRvcnkxMzQwMTgzMzA="",""name"":""ants"",""full_name"":""panjf2000/ants"",""private"":false,""owner"":{""login"":""panjf2000"",""id"":7496278,""node_id"":""MDQ6VXNlcjc0OTYyNzg="",""avatar_url"":""https://avatars.githubusercontent.com/u/7496278?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/panjf2000"",""html_url"":""https://github.com/panjf2000"",""followers_url"":""https://api.github.com/users/panjf2000/followers"",""following_url"":""https://api.github.com/users/panjf2000/following{/other_user}"",""gists_url"":""https://api.github.com/users/panjf2000/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/panjf2000/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/panjf2000/subscriptions"",""organizations_url"":""https://api.github.com/users/panjf2000/orgs"",""repos_url"":""https://api.github.com/users/panjf2000/repos"",""events_url"":""https://api.github.com/users/panjf2000/events{/privacy}"",""received_events_url"":""https://api.github.com/users/panjf2000/received_events"",""type"":""User"",""site_admin"":false},""html_url"":""https://github.com/panjf2000/ants"",""description"":""🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go, inspired by fasthttp./ ants chinese goroutine chinese 。"",""fork"":false,""url"":""https://api.github.com/repos/panjf2000/ants"",""forks_url"":""https://api.github.com/repos/panjf2000/ants/forks"",""keys_url"":""https://api.github.com/repos/panjf2000/ants/keys{/key_id}"",""collaborators_url"":""https://api.github.com/repos/panjf2000/ants/collaborators{/collaborator}"",""teams_url"":""https://api.github.com/repos/panjf2000/ants/teams"",""hooks_url"":""https://api.github.com/repos/panjf2000/ants/hooks"",""issue_events_url"":""https://api.github.com/repos/panjf2000/ants/issues/events{/number}"",""events_url"":""https://api.github.com/repos/panjf2000/ants/events"",""assignees_url"":""https://api.github.com/repos/panjf2000/ants/assignees{/user}"",""branches_url"":""https://api.github.com/repos/panjf2000/ants/branches{/branch}"",""tags_url"":""https://api.github.com/repos/panjf2000/ants/tags"",""blobs_url"":""https://api.github.com/repos/panjf2000/ants/git/blobs{/sha}"",""git_tags_url"":""https://api.github.com/repos/panjf2000/ants/git/tags{/sha}"",""git_refs_url"":""https://api.github.com/repos/panjf2000/ants/git/refs{/sha}"",""trees_url"":""https://api.github.com/repos/panjf2000/ants/git/trees{/sha}"",""statuses_url"":""https://api.github.com/repos/panjf2000/ants/statuses/{sha}"",""languages_url"":""https://api.github.com/repos/panjf2000/ants/languages"",""stargazers_url"":""https://api.github.com/repos/panjf2000/ants/stargazers"",""contributors_url"":""https://api.github.com/repos/panjf2000/ants/contributors"",""subscribers_url"":""https://api.github.com/repos/panjf2000/ants/subscribers"",""subscription_url"":""https://api.github.com/repos/panjf2000/ants/subscription"",""commits_url"":""https://api.github.com/repos/panjf2000/ants/commits{/sha}"",""git_commits_url"":""https://api.github.com/repos/panjf2000/ants/git/commits{/sha}"",""comments_url"":""https://api.github.com/repos/panjf2000/ants/comments{/number}"",""issue_comment_url"":""https://api.github.com/repos/panjf2000/ants/issues/comments{/number}"",""contents_url"":""https://api.github.com/repos/panjf2000/ants/contents/{+path}"",""compare_url"":""https://api.github.com/repos/panjf2000/ants/compare/{base}...{head}"",""merges_url"":""https://api.github.com/repos/panjf2000/ants/merges"",""archive_url"":""https://api.github.com/repos/panjf2000/ants/{archive_format}{/ref}"",""downloads_url"":""https://api.github.com/repos/panjf2000/ants/downloads"",""issues_url"":""https://api.github.com/repos/panjf2000/ants/issues{/number}"",""pulls_url"":""https://api.github.com/repos/panjf2000/ants/pulls{/number}"",""milestones_url"":""https://api.github.com/repos/panjf2000/ants/milestones{/number}"",""notifications_url"":""https://api.github.com/repos/panjf2000/ants/notifications{?since,all,participating}"",""labels_url"":""https://api.github.com/repos/panjf2000/ants/labels{/name}"",""releases_url"":""https://api.github.com/repos/panjf2000/ants/releases{/id}"",""deployments_url"":""https://api.github.com/repos/panjf2000/ants/deployments"",""created_at"":""2018-05-19T01:13:38Z"",""updated_at"":""2022-06-13T15:27:54Z"",""pushed_at"":""2022-06-10T01:54:29Z"",""git_url"":""git://github.com/panjf2000/ants.git"",""ssh_url"":""git@github.com:panjf2000/ants.git"",""clone_url"":""https://github.com/panjf2000/ants.git"",""svn_url"":""https://github.com/panjf2000/ants"",""homepage"":""https://ants.andypan.me"",""size"":1821,""stargazers_count"":8433,""watchers_count"":8433,""language"":""Go"",""has_issues"":true,""has_projects"":true,""has_downloads"":true,""has_wiki"":true,""has_pages"":false,""forks_count"":1028,""mirror_url"":null,""archived"":false,""disabled"":false,""open_issues_count"":25,""license"":{""key"":""mit"",""name"":""MIT License"",""spdx_id"":""MIT"",""url"":""https://api.github.com/licenses/mit"",""node_id"":""MDc6TGljZW5zZTEz""},""allow_forking"":true,""is_template"":false,""topics"":[""ants"",""go"",""goroutine"",""goroutine-pool"",""pool"",""worker-pool""],""visibility"":""public"",""forks"":1028,""open_issues"":25,""watchers"":8433,""default_branch"":""master""}},""_links"":{""self"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/210""},""html"":{""href"":""https://github.com/panjf2000/ants/pull/210""},""issue"":{""href"":""https://api.github.com/repos/panjf2000/ants/issues/210""},""comments"":{""href"":""https://api.github.com/repos/panjf2000/ants/issues/210/comments""},""review_comments"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/210/comments""},""review_comment"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/comments{/number}""},""commits"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/210/commits""},""statuses"":{""href"":""https://api.github.com/repos/panjf2000/ants/statuses/0e17530397bcec737dd9a77fc9589a6866ec4f6e""}},""author_association"":""CONTRIBUTOR"",""auto_merge"":null,""active_lock_reason"":null}",https://api.github.com/repos/panjf2000/ants/pulls?direction=asc&page=1&per_page=100&state=all,null,2022-06-13 15:35:59.146764+00:00 -294,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}","{""url"":""https://api.github.com/repos/panjf2000/ants/pulls/211"",""id"":842184289,""node_id"":""PR_kwDOB_z1Gs4yMrZh"",""html_url"":""https://github.com/panjf2000/ants/pull/211"",""diff_url"":""https://github.com/panjf2000/ants/pull/211.diff"",""patch_url"":""https://github.com/panjf2000/ants/pull/211.patch"",""issue_url"":""https://api.github.com/repos/panjf2000/ants/issues/211"",""number"":211,""state"":""open"",""locked"":false,""title"":""Remove worker_func.go and modify pool_func.go simplifying the library"",""user"":{""login"":""lucafmarques"",""id"":15234973,""node_id"":""MDQ6VXNlcjE1MjM0OTcz"",""avatar_url"":""https://avatars.githubusercontent.com/u/15234973?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/lucafmarques"",""html_url"":""https://github.com/lucafmarques"",""followers_url"":""https://api.github.com/users/lucafmarques/followers"",""following_url"":""https://api.github.com/users/lucafmarques/following{/other_user}"",""gists_url"":""https://api.github.com/users/lucafmarques/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/lucafmarques/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/lucafmarques/subscriptions"",""organizations_url"":""https://api.github.com/users/lucafmarques/orgs"",""repos_url"":""https://api.github.com/users/lucafmarques/repos"",""events_url"":""https://api.github.com/users/lucafmarques/events{/privacy}"",""received_events_url"":""https://api.github.com/users/lucafmarques/received_events"",""type"":""User"",""site_admin"":false},""body"":""---\r\nname: Remove worker_func.go and modify pool_func.go simplifying the library\r\nabout: Remove worker_func.go and modify pool_func.go to simply utilize the non-func pool+worker implementation\r\ntitle: 'Remove worker_func.go and modify pool_func.go simplifying the library'\r\nlabels: ''\r\nassignees: @panjf2000 \r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nSimplifying the library\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\nWhile reading through the library it became clear to me that `PoolWithFunc` was just a specific case of `Pool`, where instead of submitting tasks, the caller simply passes arguments for a pre-defined function to be run on the workers. This means that, instead of a `chan func() interface{}` as the message queue, we use a `chan interface{}`, and IMO this shouldn't warrant a completely different `Pool` implementation.\r\n\r\nThis PR proposes the complete removal of the `worker_func.go` file, choosing instead to adapt `PoolWithFunc` to use the default `Pool`, changing `.Invoke` to simply call the underlying `Pool.Submit` method with an anonymous function wrapping `p.poolFunc(args)`, transforming it into a `goWorker` accepted task, giving us a more robust and simpler library.\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\nNo documentation changes are needed as this doesn't change any of API or examples used.\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [x] I have written unit tests and verified that all tests passes (if needed).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n- ~I have documented feature info on the README (only when this PR is adding a new feature).~\r\n"",""created_at"":""2022-02-07T21:31:30Z"",""updated_at"":""2022-02-22T16:48:28Z"",""closed_at"":null,""merged_at"":null,""merge_commit_sha"":""abc622e2696d0f5c1521c96dd206fc2a25c45ad4"",""assignee"":null,""assignees"":[],""requested_reviewers"":[],""requested_teams"":[],""labels"":[],""milestone"":null,""draft"":false,""commits_url"":""https://api.github.com/repos/panjf2000/ants/pulls/211/commits"",""review_comments_url"":""https://api.github.com/repos/panjf2000/ants/pulls/211/comments"",""review_comment_url"":""https://api.github.com/repos/panjf2000/ants/pulls/comments{/number}"",""comments_url"":""https://api.github.com/repos/panjf2000/ants/issues/211/comments"",""statuses_url"":""https://api.github.com/repos/panjf2000/ants/statuses/863116682b4378fc82f00c950e5c6469c0e295bb"",""head"":{""label"":""lucafmarques:simpler-pool-func"",""ref"":""simpler-pool-func"",""sha"":""863116682b4378fc82f00c950e5c6469c0e295bb"",""user"":{""login"":""lucafmarques"",""id"":15234973,""node_id"":""MDQ6VXNlcjE1MjM0OTcz"",""avatar_url"":""https://avatars.githubusercontent.com/u/15234973?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/lucafmarques"",""html_url"":""https://github.com/lucafmarques"",""followers_url"":""https://api.github.com/users/lucafmarques/followers"",""following_url"":""https://api.github.com/users/lucafmarques/following{/other_user}"",""gists_url"":""https://api.github.com/users/lucafmarques/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/lucafmarques/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/lucafmarques/subscriptions"",""organizations_url"":""https://api.github.com/users/lucafmarques/orgs"",""repos_url"":""https://api.github.com/users/lucafmarques/repos"",""events_url"":""https://api.github.com/users/lucafmarques/events{/privacy}"",""received_events_url"":""https://api.github.com/users/lucafmarques/received_events"",""type"":""User"",""site_admin"":false},""repo"":{""id"":456662951,""node_id"":""R_kgDOGzgfpw"",""name"":""ants"",""full_name"":""lucafmarques/ants"",""private"":false,""owner"":{""login"":""lucafmarques"",""id"":15234973,""node_id"":""MDQ6VXNlcjE1MjM0OTcz"",""avatar_url"":""https://avatars.githubusercontent.com/u/15234973?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/lucafmarques"",""html_url"":""https://github.com/lucafmarques"",""followers_url"":""https://api.github.com/users/lucafmarques/followers"",""following_url"":""https://api.github.com/users/lucafmarques/following{/other_user}"",""gists_url"":""https://api.github.com/users/lucafmarques/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/lucafmarques/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/lucafmarques/subscriptions"",""organizations_url"":""https://api.github.com/users/lucafmarques/orgs"",""repos_url"":""https://api.github.com/users/lucafmarques/repos"",""events_url"":""https://api.github.com/users/lucafmarques/events{/privacy}"",""received_events_url"":""https://api.github.com/users/lucafmarques/received_events"",""type"":""User"",""site_admin"":false},""html_url"":""https://github.com/lucafmarques/ants"",""description"":""🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go, inspired by fasthttp./ ants chinese goroutine chinese 。"",""fork"":true,""url"":""https://api.github.com/repos/lucafmarques/ants"",""forks_url"":""https://api.github.com/repos/lucafmarques/ants/forks"",""keys_url"":""https://api.github.com/repos/lucafmarques/ants/keys{/key_id}"",""collaborators_url"":""https://api.github.com/repos/lucafmarques/ants/collaborators{/collaborator}"",""teams_url"":""https://api.github.com/repos/lucafmarques/ants/teams"",""hooks_url"":""https://api.github.com/repos/lucafmarques/ants/hooks"",""issue_events_url"":""https://api.github.com/repos/lucafmarques/ants/issues/events{/number}"",""events_url"":""https://api.github.com/repos/lucafmarques/ants/events"",""assignees_url"":""https://api.github.com/repos/lucafmarques/ants/assignees{/user}"",""branches_url"":""https://api.github.com/repos/lucafmarques/ants/branches{/branch}"",""tags_url"":""https://api.github.com/repos/lucafmarques/ants/tags"",""blobs_url"":""https://api.github.com/repos/lucafmarques/ants/git/blobs{/sha}"",""git_tags_url"":""https://api.github.com/repos/lucafmarques/ants/git/tags{/sha}"",""git_refs_url"":""https://api.github.com/repos/lucafmarques/ants/git/refs{/sha}"",""trees_url"":""https://api.github.com/repos/lucafmarques/ants/git/trees{/sha}"",""statuses_url"":""https://api.github.com/repos/lucafmarques/ants/statuses/{sha}"",""languages_url"":""https://api.github.com/repos/lucafmarques/ants/languages"",""stargazers_url"":""https://api.github.com/repos/lucafmarques/ants/stargazers"",""contributors_url"":""https://api.github.com/repos/lucafmarques/ants/contributors"",""subscribers_url"":""https://api.github.com/repos/lucafmarques/ants/subscribers"",""subscription_url"":""https://api.github.com/repos/lucafmarques/ants/subscription"",""commits_url"":""https://api.github.com/repos/lucafmarques/ants/commits{/sha}"",""git_commits_url"":""https://api.github.com/repos/lucafmarques/ants/git/commits{/sha}"",""comments_url"":""https://api.github.com/repos/lucafmarques/ants/comments{/number}"",""issue_comment_url"":""https://api.github.com/repos/lucafmarques/ants/issues/comments{/number}"",""contents_url"":""https://api.github.com/repos/lucafmarques/ants/contents/{+path}"",""compare_url"":""https://api.github.com/repos/lucafmarques/ants/compare/{base}...{head}"",""merges_url"":""https://api.github.com/repos/lucafmarques/ants/merges"",""archive_url"":""https://api.github.com/repos/lucafmarques/ants/{archive_format}{/ref}"",""downloads_url"":""https://api.github.com/repos/lucafmarques/ants/downloads"",""issues_url"":""https://api.github.com/repos/lucafmarques/ants/issues{/number}"",""pulls_url"":""https://api.github.com/repos/lucafmarques/ants/pulls{/number}"",""milestones_url"":""https://api.github.com/repos/lucafmarques/ants/milestones{/number}"",""notifications_url"":""https://api.github.com/repos/lucafmarques/ants/notifications{?since,all,participating}"",""labels_url"":""https://api.github.com/repos/lucafmarques/ants/labels{/name}"",""releases_url"":""https://api.github.com/repos/lucafmarques/ants/releases{/id}"",""deployments_url"":""https://api.github.com/repos/lucafmarques/ants/deployments"",""created_at"":""2022-02-07T20:18:39Z"",""updated_at"":""2022-02-08T12:26:07Z"",""pushed_at"":""2022-02-10T17:24:52Z"",""git_url"":""git://github.com/lucafmarques/ants.git"",""ssh_url"":""git@github.com:lucafmarques/ants.git"",""clone_url"":""https://github.com/lucafmarques/ants.git"",""svn_url"":""https://github.com/lucafmarques/ants"",""homepage"":""https://ants.andypan.me"",""size"":2004,""stargazers_count"":0,""watchers_count"":0,""language"":""Go"",""has_issues"":false,""has_projects"":true,""has_downloads"":true,""has_wiki"":true,""has_pages"":false,""forks_count"":0,""mirror_url"":null,""archived"":false,""disabled"":false,""open_issues_count"":0,""license"":{""key"":""mit"",""name"":""MIT License"",""spdx_id"":""MIT"",""url"":""https://api.github.com/licenses/mit"",""node_id"":""MDc6TGljZW5zZTEz""},""allow_forking"":true,""is_template"":false,""topics"":[],""visibility"":""public"",""forks"":0,""open_issues"":0,""watchers"":0,""default_branch"":""master""}},""base"":{""label"":""panjf2000:master"",""ref"":""master"",""sha"":""134f354e8e3ba73a35bc7da671ea6d1a8001d35d"",""user"":{""login"":""panjf2000"",""id"":7496278,""node_id"":""MDQ6VXNlcjc0OTYyNzg="",""avatar_url"":""https://avatars.githubusercontent.com/u/7496278?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/panjf2000"",""html_url"":""https://github.com/panjf2000"",""followers_url"":""https://api.github.com/users/panjf2000/followers"",""following_url"":""https://api.github.com/users/panjf2000/following{/other_user}"",""gists_url"":""https://api.github.com/users/panjf2000/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/panjf2000/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/panjf2000/subscriptions"",""organizations_url"":""https://api.github.com/users/panjf2000/orgs"",""repos_url"":""https://api.github.com/users/panjf2000/repos"",""events_url"":""https://api.github.com/users/panjf2000/events{/privacy}"",""received_events_url"":""https://api.github.com/users/panjf2000/received_events"",""type"":""User"",""site_admin"":false},""repo"":{""id"":134018330,""node_id"":""MDEwOlJlcG9zaXRvcnkxMzQwMTgzMzA="",""name"":""ants"",""full_name"":""panjf2000/ants"",""private"":false,""owner"":{""login"":""panjf2000"",""id"":7496278,""node_id"":""MDQ6VXNlcjc0OTYyNzg="",""avatar_url"":""https://avatars.githubusercontent.com/u/7496278?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/panjf2000"",""html_url"":""https://github.com/panjf2000"",""followers_url"":""https://api.github.com/users/panjf2000/followers"",""following_url"":""https://api.github.com/users/panjf2000/following{/other_user}"",""gists_url"":""https://api.github.com/users/panjf2000/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/panjf2000/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/panjf2000/subscriptions"",""organizations_url"":""https://api.github.com/users/panjf2000/orgs"",""repos_url"":""https://api.github.com/users/panjf2000/repos"",""events_url"":""https://api.github.com/users/panjf2000/events{/privacy}"",""received_events_url"":""https://api.github.com/users/panjf2000/received_events"",""type"":""User"",""site_admin"":false},""html_url"":""https://github.com/panjf2000/ants"",""description"":""🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go, inspired by fasthttp./ ants chinese goroutine chinese 。"",""fork"":false,""url"":""https://api.github.com/repos/panjf2000/ants"",""forks_url"":""https://api.github.com/repos/panjf2000/ants/forks"",""keys_url"":""https://api.github.com/repos/panjf2000/ants/keys{/key_id}"",""collaborators_url"":""https://api.github.com/repos/panjf2000/ants/collaborators{/collaborator}"",""teams_url"":""https://api.github.com/repos/panjf2000/ants/teams"",""hooks_url"":""https://api.github.com/repos/panjf2000/ants/hooks"",""issue_events_url"":""https://api.github.com/repos/panjf2000/ants/issues/events{/number}"",""events_url"":""https://api.github.com/repos/panjf2000/ants/events"",""assignees_url"":""https://api.github.com/repos/panjf2000/ants/assignees{/user}"",""branches_url"":""https://api.github.com/repos/panjf2000/ants/branches{/branch}"",""tags_url"":""https://api.github.com/repos/panjf2000/ants/tags"",""blobs_url"":""https://api.github.com/repos/panjf2000/ants/git/blobs{/sha}"",""git_tags_url"":""https://api.github.com/repos/panjf2000/ants/git/tags{/sha}"",""git_refs_url"":""https://api.github.com/repos/panjf2000/ants/git/refs{/sha}"",""trees_url"":""https://api.github.com/repos/panjf2000/ants/git/trees{/sha}"",""statuses_url"":""https://api.github.com/repos/panjf2000/ants/statuses/{sha}"",""languages_url"":""https://api.github.com/repos/panjf2000/ants/languages"",""stargazers_url"":""https://api.github.com/repos/panjf2000/ants/stargazers"",""contributors_url"":""https://api.github.com/repos/panjf2000/ants/contributors"",""subscribers_url"":""https://api.github.com/repos/panjf2000/ants/subscribers"",""subscription_url"":""https://api.github.com/repos/panjf2000/ants/subscription"",""commits_url"":""https://api.github.com/repos/panjf2000/ants/commits{/sha}"",""git_commits_url"":""https://api.github.com/repos/panjf2000/ants/git/commits{/sha}"",""comments_url"":""https://api.github.com/repos/panjf2000/ants/comments{/number}"",""issue_comment_url"":""https://api.github.com/repos/panjf2000/ants/issues/comments{/number}"",""contents_url"":""https://api.github.com/repos/panjf2000/ants/contents/{+path}"",""compare_url"":""https://api.github.com/repos/panjf2000/ants/compare/{base}...{head}"",""merges_url"":""https://api.github.com/repos/panjf2000/ants/merges"",""archive_url"":""https://api.github.com/repos/panjf2000/ants/{archive_format}{/ref}"",""downloads_url"":""https://api.github.com/repos/panjf2000/ants/downloads"",""issues_url"":""https://api.github.com/repos/panjf2000/ants/issues{/number}"",""pulls_url"":""https://api.github.com/repos/panjf2000/ants/pulls{/number}"",""milestones_url"":""https://api.github.com/repos/panjf2000/ants/milestones{/number}"",""notifications_url"":""https://api.github.com/repos/panjf2000/ants/notifications{?since,all,participating}"",""labels_url"":""https://api.github.com/repos/panjf2000/ants/labels{/name}"",""releases_url"":""https://api.github.com/repos/panjf2000/ants/releases{/id}"",""deployments_url"":""https://api.github.com/repos/panjf2000/ants/deployments"",""created_at"":""2018-05-19T01:13:38Z"",""updated_at"":""2022-06-13T15:27:54Z"",""pushed_at"":""2022-06-10T01:54:29Z"",""git_url"":""git://github.com/panjf2000/ants.git"",""ssh_url"":""git@github.com:panjf2000/ants.git"",""clone_url"":""https://github.com/panjf2000/ants.git"",""svn_url"":""https://github.com/panjf2000/ants"",""homepage"":""https://ants.andypan.me"",""size"":1821,""stargazers_count"":8433,""watchers_count"":8433,""language"":""Go"",""has_issues"":true,""has_projects"":true,""has_downloads"":true,""has_wiki"":true,""has_pages"":false,""forks_count"":1028,""mirror_url"":null,""archived"":false,""disabled"":false,""open_issues_count"":25,""license"":{""key"":""mit"",""name"":""MIT License"",""spdx_id"":""MIT"",""url"":""https://api.github.com/licenses/mit"",""node_id"":""MDc6TGljZW5zZTEz""},""allow_forking"":true,""is_template"":false,""topics"":[""ants"",""go"",""goroutine"",""goroutine-pool"",""pool"",""worker-pool""],""visibility"":""public"",""forks"":1028,""open_issues"":25,""watchers"":8433,""default_branch"":""master""}},""_links"":{""self"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/211""},""html"":{""href"":""https://github.com/panjf2000/ants/pull/211""},""issue"":{""href"":""https://api.github.com/repos/panjf2000/ants/issues/211""},""comments"":{""href"":""https://api.github.com/repos/panjf2000/ants/issues/211/comments""},""review_comments"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/211/comments""},""review_comment"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/comments{/number}""},""commits"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/211/commits""},""statuses"":{""href"":""https://api.github.com/repos/panjf2000/ants/statuses/863116682b4378fc82f00c950e5c6469c0e295bb""}},""author_association"":""NONE"",""auto_merge"":null,""active_lock_reason"":null}",https://api.github.com/repos/panjf2000/ants/pulls?direction=asc&page=1&per_page=100&state=all,null,2022-06-13 15:35:59.146764+00:00 +294,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}","{""url"":""https://api.github.com/repos/panjf2000/ants/pulls/211"",""id"":842184289,""node_id"":""PR_kwDOB_z1Gs4yMrZh"",""html_url"":""https://github.com/panjf2000/ants/pull/211"",""diff_url"":""https://github.com/panjf2000/ants/pull/211.diff"",""patch_url"":""https://github.com/panjf2000/ants/pull/211.patch"",""issue_url"":""https://api.github.com/repos/panjf2000/ants/issues/211"",""number"":211,""state"":""open"",""locked"":false,""title"":""Remove worker_func.go and modify pool_func.go simplifying the library"",""user"":{""login"":""lucafmarques"",""id"":15234973,""node_id"":""MDQ6VXNlcjE1MjM0OTcz"",""avatar_url"":""https://avatars.githubusercontent.com/u/15234973?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/lucafmarques"",""html_url"":""https://github.com/lucafmarques"",""followers_url"":""https://api.github.com/users/lucafmarques/followers"",""following_url"":""https://api.github.com/users/lucafmarques/following{/other_user}"",""gists_url"":""https://api.github.com/users/lucafmarques/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/lucafmarques/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/lucafmarques/subscriptions"",""organizations_url"":""https://api.github.com/users/lucafmarques/orgs"",""repos_url"":""https://api.github.com/users/lucafmarques/repos"",""events_url"":""https://api.github.com/users/lucafmarques/events{/privacy}"",""received_events_url"":""https://api.github.com/users/lucafmarques/received_events"",""type"":""User"",""site_admin"":false},""body"":""---\r\nname: Remove worker_func.go and modify pool_func.go simplifying the library\r\nabout: Remove worker_func.go and modify pool_func.go to simply utilize the non-func pool+worker implementation\r\ntitle: 'Remove worker_func.go and modify pool_func.go simplifying the library'\r\nlabels: ''\r\nassignees: @panjf2000 \r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nSimplifying the library\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\nWhile reading through the library it became clear to me that `PoolWithFunc` was just a specific case of `Pool`, where instead of submitting tasks, the caller simply passes arguments for a pre-defined function to be run on the workers. This means that, instead of a `chan func() interface{}` as the message queue, we use a `chan interface{}`, and IMO this shouldn't warrant a completely different `Pool` implementation.\r\n\r\nThis PR proposes the complete removal of the `worker_func.go` file, choosing instead to adapt `PoolWithFunc` to use the default `Pool`, changing `.Invoke` to simply call the underlying `Pool.Submit` method with an anonymous function wrapping `p.poolFunc(args)`, transforming it into a `goWorker` accepted task, giving us a more robust and simpler library.\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\nNo documentation changes are needed as this doesn't change any of API or examples used.\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [x] I have written unit tests and verified that all tests passes (if needed).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n- ~I have documented feature info on the README (only when this PR is adding a new feature).~\r\n"",""created_at"":""2022-02-07T21:31:30Z"",""updated_at"":""2022-02-22T16:48:28Z"",""closed_at"":null,""merged_at"":null,""merge_commit_sha"":""abc622e2696d0f5c1521c96dd206fc2a25c45ad4"",""assignee"":null,""assignees"":[],""requested_reviewers"":[],""requested_teams"":[],""labels"":[],""milestone"":null,""draft"":true,""commits_url"":""https://api.github.com/repos/panjf2000/ants/pulls/211/commits"",""review_comments_url"":""https://api.github.com/repos/panjf2000/ants/pulls/211/comments"",""review_comment_url"":""https://api.github.com/repos/panjf2000/ants/pulls/comments{/number}"",""comments_url"":""https://api.github.com/repos/panjf2000/ants/issues/211/comments"",""statuses_url"":""https://api.github.com/repos/panjf2000/ants/statuses/863116682b4378fc82f00c950e5c6469c0e295bb"",""head"":{""label"":""lucafmarques:simpler-pool-func"",""ref"":""simpler-pool-func"",""sha"":""863116682b4378fc82f00c950e5c6469c0e295bb"",""user"":{""login"":""lucafmarques"",""id"":15234973,""node_id"":""MDQ6VXNlcjE1MjM0OTcz"",""avatar_url"":""https://avatars.githubusercontent.com/u/15234973?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/lucafmarques"",""html_url"":""https://github.com/lucafmarques"",""followers_url"":""https://api.github.com/users/lucafmarques/followers"",""following_url"":""https://api.github.com/users/lucafmarques/following{/other_user}"",""gists_url"":""https://api.github.com/users/lucafmarques/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/lucafmarques/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/lucafmarques/subscriptions"",""organizations_url"":""https://api.github.com/users/lucafmarques/orgs"",""repos_url"":""https://api.github.com/users/lucafmarques/repos"",""events_url"":""https://api.github.com/users/lucafmarques/events{/privacy}"",""received_events_url"":""https://api.github.com/users/lucafmarques/received_events"",""type"":""User"",""site_admin"":false},""repo"":{""id"":456662951,""node_id"":""R_kgDOGzgfpw"",""name"":""ants"",""full_name"":""lucafmarques/ants"",""private"":false,""owner"":{""login"":""lucafmarques"",""id"":15234973,""node_id"":""MDQ6VXNlcjE1MjM0OTcz"",""avatar_url"":""https://avatars.githubusercontent.com/u/15234973?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/lucafmarques"",""html_url"":""https://github.com/lucafmarques"",""followers_url"":""https://api.github.com/users/lucafmarques/followers"",""following_url"":""https://api.github.com/users/lucafmarques/following{/other_user}"",""gists_url"":""https://api.github.com/users/lucafmarques/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/lucafmarques/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/lucafmarques/subscriptions"",""organizations_url"":""https://api.github.com/users/lucafmarques/orgs"",""repos_url"":""https://api.github.com/users/lucafmarques/repos"",""events_url"":""https://api.github.com/users/lucafmarques/events{/privacy}"",""received_events_url"":""https://api.github.com/users/lucafmarques/received_events"",""type"":""User"",""site_admin"":false},""html_url"":""https://github.com/lucafmarques/ants"",""description"":""🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go, inspired by fasthttp./ ants chinese goroutine chinese 。"",""fork"":true,""url"":""https://api.github.com/repos/lucafmarques/ants"",""forks_url"":""https://api.github.com/repos/lucafmarques/ants/forks"",""keys_url"":""https://api.github.com/repos/lucafmarques/ants/keys{/key_id}"",""collaborators_url"":""https://api.github.com/repos/lucafmarques/ants/collaborators{/collaborator}"",""teams_url"":""https://api.github.com/repos/lucafmarques/ants/teams"",""hooks_url"":""https://api.github.com/repos/lucafmarques/ants/hooks"",""issue_events_url"":""https://api.github.com/repos/lucafmarques/ants/issues/events{/number}"",""events_url"":""https://api.github.com/repos/lucafmarques/ants/events"",""assignees_url"":""https://api.github.com/repos/lucafmarques/ants/assignees{/user}"",""branches_url"":""https://api.github.com/repos/lucafmarques/ants/branches{/branch}"",""tags_url"":""https://api.github.com/repos/lucafmarques/ants/tags"",""blobs_url"":""https://api.github.com/repos/lucafmarques/ants/git/blobs{/sha}"",""git_tags_url"":""https://api.github.com/repos/lucafmarques/ants/git/tags{/sha}"",""git_refs_url"":""https://api.github.com/repos/lucafmarques/ants/git/refs{/sha}"",""trees_url"":""https://api.github.com/repos/lucafmarques/ants/git/trees{/sha}"",""statuses_url"":""https://api.github.com/repos/lucafmarques/ants/statuses/{sha}"",""languages_url"":""https://api.github.com/repos/lucafmarques/ants/languages"",""stargazers_url"":""https://api.github.com/repos/lucafmarques/ants/stargazers"",""contributors_url"":""https://api.github.com/repos/lucafmarques/ants/contributors"",""subscribers_url"":""https://api.github.com/repos/lucafmarques/ants/subscribers"",""subscription_url"":""https://api.github.com/repos/lucafmarques/ants/subscription"",""commits_url"":""https://api.github.com/repos/lucafmarques/ants/commits{/sha}"",""git_commits_url"":""https://api.github.com/repos/lucafmarques/ants/git/commits{/sha}"",""comments_url"":""https://api.github.com/repos/lucafmarques/ants/comments{/number}"",""issue_comment_url"":""https://api.github.com/repos/lucafmarques/ants/issues/comments{/number}"",""contents_url"":""https://api.github.com/repos/lucafmarques/ants/contents/{+path}"",""compare_url"":""https://api.github.com/repos/lucafmarques/ants/compare/{base}...{head}"",""merges_url"":""https://api.github.com/repos/lucafmarques/ants/merges"",""archive_url"":""https://api.github.com/repos/lucafmarques/ants/{archive_format}{/ref}"",""downloads_url"":""https://api.github.com/repos/lucafmarques/ants/downloads"",""issues_url"":""https://api.github.com/repos/lucafmarques/ants/issues{/number}"",""pulls_url"":""https://api.github.com/repos/lucafmarques/ants/pulls{/number}"",""milestones_url"":""https://api.github.com/repos/lucafmarques/ants/milestones{/number}"",""notifications_url"":""https://api.github.com/repos/lucafmarques/ants/notifications{?since,all,participating}"",""labels_url"":""https://api.github.com/repos/lucafmarques/ants/labels{/name}"",""releases_url"":""https://api.github.com/repos/lucafmarques/ants/releases{/id}"",""deployments_url"":""https://api.github.com/repos/lucafmarques/ants/deployments"",""created_at"":""2022-02-07T20:18:39Z"",""updated_at"":""2022-02-08T12:26:07Z"",""pushed_at"":""2022-02-10T17:24:52Z"",""git_url"":""git://github.com/lucafmarques/ants.git"",""ssh_url"":""git@github.com:lucafmarques/ants.git"",""clone_url"":""https://github.com/lucafmarques/ants.git"",""svn_url"":""https://github.com/lucafmarques/ants"",""homepage"":""https://ants.andypan.me"",""size"":2004,""stargazers_count"":0,""watchers_count"":0,""language"":""Go"",""has_issues"":false,""has_projects"":true,""has_downloads"":true,""has_wiki"":true,""has_pages"":false,""forks_count"":0,""mirror_url"":null,""archived"":false,""disabled"":false,""open_issues_count"":0,""license"":{""key"":""mit"",""name"":""MIT License"",""spdx_id"":""MIT"",""url"":""https://api.github.com/licenses/mit"",""node_id"":""MDc6TGljZW5zZTEz""},""allow_forking"":true,""is_template"":false,""topics"":[],""visibility"":""public"",""forks"":0,""open_issues"":0,""watchers"":0,""default_branch"":""master""}},""base"":{""label"":""panjf2000:master"",""ref"":""master"",""sha"":""134f354e8e3ba73a35bc7da671ea6d1a8001d35d"",""user"":{""login"":""panjf2000"",""id"":7496278,""node_id"":""MDQ6VXNlcjc0OTYyNzg="",""avatar_url"":""https://avatars.githubusercontent.com/u/7496278?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/panjf2000"",""html_url"":""https://github.com/panjf2000"",""followers_url"":""https://api.github.com/users/panjf2000/followers"",""following_url"":""https://api.github.com/users/panjf2000/following{/other_user}"",""gists_url"":""https://api.github.com/users/panjf2000/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/panjf2000/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/panjf2000/subscriptions"",""organizations_url"":""https://api.github.com/users/panjf2000/orgs"",""repos_url"":""https://api.github.com/users/panjf2000/repos"",""events_url"":""https://api.github.com/users/panjf2000/events{/privacy}"",""received_events_url"":""https://api.github.com/users/panjf2000/received_events"",""type"":""User"",""site_admin"":false},""repo"":{""id"":134018330,""node_id"":""MDEwOlJlcG9zaXRvcnkxMzQwMTgzMzA="",""name"":""ants"",""full_name"":""panjf2000/ants"",""private"":false,""owner"":{""login"":""panjf2000"",""id"":7496278,""node_id"":""MDQ6VXNlcjc0OTYyNzg="",""avatar_url"":""https://avatars.githubusercontent.com/u/7496278?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/panjf2000"",""html_url"":""https://github.com/panjf2000"",""followers_url"":""https://api.github.com/users/panjf2000/followers"",""following_url"":""https://api.github.com/users/panjf2000/following{/other_user}"",""gists_url"":""https://api.github.com/users/panjf2000/gists{/gist_id}"",""starred_url"":""https://api.github.com/users/panjf2000/starred{/owner}{/repo}"",""subscriptions_url"":""https://api.github.com/users/panjf2000/subscriptions"",""organizations_url"":""https://api.github.com/users/panjf2000/orgs"",""repos_url"":""https://api.github.com/users/panjf2000/repos"",""events_url"":""https://api.github.com/users/panjf2000/events{/privacy}"",""received_events_url"":""https://api.github.com/users/panjf2000/received_events"",""type"":""User"",""site_admin"":false},""html_url"":""https://github.com/panjf2000/ants"",""description"":""🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go, inspired by fasthttp./ ants chinese goroutine chinese 。"",""fork"":false,""url"":""https://api.github.com/repos/panjf2000/ants"",""forks_url"":""https://api.github.com/repos/panjf2000/ants/forks"",""keys_url"":""https://api.github.com/repos/panjf2000/ants/keys{/key_id}"",""collaborators_url"":""https://api.github.com/repos/panjf2000/ants/collaborators{/collaborator}"",""teams_url"":""https://api.github.com/repos/panjf2000/ants/teams"",""hooks_url"":""https://api.github.com/repos/panjf2000/ants/hooks"",""issue_events_url"":""https://api.github.com/repos/panjf2000/ants/issues/events{/number}"",""events_url"":""https://api.github.com/repos/panjf2000/ants/events"",""assignees_url"":""https://api.github.com/repos/panjf2000/ants/assignees{/user}"",""branches_url"":""https://api.github.com/repos/panjf2000/ants/branches{/branch}"",""tags_url"":""https://api.github.com/repos/panjf2000/ants/tags"",""blobs_url"":""https://api.github.com/repos/panjf2000/ants/git/blobs{/sha}"",""git_tags_url"":""https://api.github.com/repos/panjf2000/ants/git/tags{/sha}"",""git_refs_url"":""https://api.github.com/repos/panjf2000/ants/git/refs{/sha}"",""trees_url"":""https://api.github.com/repos/panjf2000/ants/git/trees{/sha}"",""statuses_url"":""https://api.github.com/repos/panjf2000/ants/statuses/{sha}"",""languages_url"":""https://api.github.com/repos/panjf2000/ants/languages"",""stargazers_url"":""https://api.github.com/repos/panjf2000/ants/stargazers"",""contributors_url"":""https://api.github.com/repos/panjf2000/ants/contributors"",""subscribers_url"":""https://api.github.com/repos/panjf2000/ants/subscribers"",""subscription_url"":""https://api.github.com/repos/panjf2000/ants/subscription"",""commits_url"":""https://api.github.com/repos/panjf2000/ants/commits{/sha}"",""git_commits_url"":""https://api.github.com/repos/panjf2000/ants/git/commits{/sha}"",""comments_url"":""https://api.github.com/repos/panjf2000/ants/comments{/number}"",""issue_comment_url"":""https://api.github.com/repos/panjf2000/ants/issues/comments{/number}"",""contents_url"":""https://api.github.com/repos/panjf2000/ants/contents/{+path}"",""compare_url"":""https://api.github.com/repos/panjf2000/ants/compare/{base}...{head}"",""merges_url"":""https://api.github.com/repos/panjf2000/ants/merges"",""archive_url"":""https://api.github.com/repos/panjf2000/ants/{archive_format}{/ref}"",""downloads_url"":""https://api.github.com/repos/panjf2000/ants/downloads"",""issues_url"":""https://api.github.com/repos/panjf2000/ants/issues{/number}"",""pulls_url"":""https://api.github.com/repos/panjf2000/ants/pulls{/number}"",""milestones_url"":""https://api.github.com/repos/panjf2000/ants/milestones{/number}"",""notifications_url"":""https://api.github.com/repos/panjf2000/ants/notifications{?since,all,participating}"",""labels_url"":""https://api.github.com/repos/panjf2000/ants/labels{/name}"",""releases_url"":""https://api.github.com/repos/panjf2000/ants/releases{/id}"",""deployments_url"":""https://api.github.com/repos/panjf2000/ants/deployments"",""created_at"":""2018-05-19T01:13:38Z"",""updated_at"":""2022-06-13T15:27:54Z"",""pushed_at"":""2022-06-10T01:54:29Z"",""git_url"":""git://github.com/panjf2000/ants.git"",""ssh_url"":""git@github.com:panjf2000/ants.git"",""clone_url"":""https://github.com/panjf2000/ants.git"",""svn_url"":""https://github.com/panjf2000/ants"",""homepage"":""https://ants.andypan.me"",""size"":1821,""stargazers_count"":8433,""watchers_count"":8433,""language"":""Go"",""has_issues"":true,""has_projects"":true,""has_downloads"":true,""has_wiki"":true,""has_pages"":false,""forks_count"":1028,""mirror_url"":null,""archived"":false,""disabled"":false,""open_issues_count"":25,""license"":{""key"":""mit"",""name"":""MIT License"",""spdx_id"":""MIT"",""url"":""https://api.github.com/licenses/mit"",""node_id"":""MDc6TGljZW5zZTEz""},""allow_forking"":true,""is_template"":false,""topics"":[""ants"",""go"",""goroutine"",""goroutine-pool"",""pool"",""worker-pool""],""visibility"":""public"",""forks"":1028,""open_issues"":25,""watchers"":8433,""default_branch"":""master""}},""_links"":{""self"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/211""},""html"":{""href"":""https://github.com/panjf2000/ants/pull/211""},""issue"":{""href"":""https://api.github.com/repos/panjf2000/ants/issues/211""},""comments"":{""href"":""https://api.github.com/repos/panjf2000/ants/issues/211/comments""},""review_comments"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/211/comments""},""review_comment"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/comments{/number}""},""commits"":{""href"":""https://api.github.com/repos/panjf2000/ants/pulls/211/commits""},""statuses"":{""href"":""https://api.github.com/repos/panjf2000/ants/statuses/863116682b4378fc82f00c950e5c6469c0e295bb""}},""author_association"":""NONE"",""auto_merge"":null,""active_lock_reason"":null}",https://api.github.com/repos/panjf2000/ants/pulls?direction=asc&page=1&per_page=100&state=all,null,2022-06-13 15:35:59.146764+00:00 diff --git a/backend/plugins/github/e2e/snapshot_tables/_tool_github_pull_requests.csv b/backend/plugins/github/e2e/snapshot_tables/_tool_github_pull_requests.csv index 3d04489e334..786e094d855 100644 --- a/backend/plugins/github/e2e/snapshot_tables/_tool_github_pull_requests.csv +++ b/backend/plugins/github/e2e/snapshot_tables/_tool_github_pull_requests.csv @@ -11,7 +11,7 @@ connection_id,github_id,repo_id,head_repo_id,number,state,title,github_created_a 1,246250598,134018330,0,23,closed,feature: add PanicHandler,2019-01-21T10:58:15.000+00:00,2019-01-22T05:41:34.000+00:00,2019-01-22T05:41:34.000+00:00,0,0,0,0,0,0,2019-01-22T05:41:34.000+00:00,"""@panjf2000 PTAL\r\nFix #22 \r\nSigned-off-by: Cholerae Hu """,,,9158bd37025ccdd29d6346a6639a282e0060c7e2,panichandler,master,812dd4e01075be3cf97429a43abaf6837908cdcd,5bbc9e170bbee27c37bcc30da3da75b4531d1edb,https://github.com/panjf2000/ants/pull/23,choleraehyq,8923413,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,255, 1,267414275,134018330,0,30,closed,goreport: lint warning on code comment structure,2019-04-04T11:52:48.000+00:00,2019-04-23T11:11:58.000+00:00,2019-04-23T11:11:58.000+00:00,0,0,0,0,0,0,2019-04-23T11:11:58.000+00:00,"""Added a newline between group comment and exported variable line πŸ˜„""",,,dec04010834ccd3691eb1776045ce3b9310ce26c,patch-1,master,4ae3fb8dc413492862469027bb58cb45b77338f1,ec5d1f3b8107265cb53536975504c7cda4f6d68f,https://github.com/panjf2000/ants/pull/30,sarathsp06,964542,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,256, 1,292246524,134018330,194015289,36,closed,handle job panic,2019-06-27T03:27:05.000+00:00,2019-08-17T20:32:55.000+00:00,2019-08-17T20:32:34.000+00:00,0,0,0,0,0,0,,"""""",,,95e11bf85f18a80197918d15a19ec10f41903d63,master,master,05e96abd6103ae7b70436abe58dbc0ad7e740929,39f04c6e65b76b5f20abd3ca0606db4cd038e5c2,https://github.com/panjf2000/ants/pull/36,king526,38849208,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,257, -1,300598936,134018330,198582966,39,closed," chinese ",2019-07-24T07:41:02.000+00:00,2019-07-26T04:00:12.000+00:00,2019-07-26T04:00:12.000+00:00,0,0,0,0,0,0,2019-07-26T04:00:12.000+00:00,"""""",,,21a109c7f0873c8f466d6710de23474968940011,master,master,fc48d32604efc2b36d144b8f83d34c1aa1fda1c9,b44a12884b495713a44f796981267ed87134decb,https://github.com/panjf2000/ants/pull/39,wwjiang,1290360,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,258, +1,300598936,134018330,198582966,39,closed, chinese ,2019-07-24T07:41:02.000+00:00,2019-07-26T04:00:12.000+00:00,2019-07-26T04:00:12.000+00:00,0,0,0,0,0,0,2019-07-26T04:00:12.000+00:00,"""""",,,21a109c7f0873c8f466d6710de23474968940011,master,master,fc48d32604efc2b36d144b8f83d34c1aa1fda1c9,b44a12884b495713a44f796981267ed87134decb,https://github.com/panjf2000/ants/pull/39,wwjiang,1290360,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,258, 1,301421607,134018330,198955529,40,closed,"optimize memory allocation, change the default pool param and add the log of panic stack.",2019-07-26T07:07:06.000+00:00,2019-07-26T15:22:26.000+00:00,2019-07-26T15:22:26.000+00:00,0,0,0,0,0,0,2019-07-26T15:22:26.000+00:00,"""Hi, I am using it on my online server which almost need 5 million goroutines on each go service.\r\nI'm divided into 10 small pools, because a pool of five million will slow down the speed associated with the slice.\r\nI made some small optimizations, I hope this is useful.\r\noptimize memory allocation, change the default pool param and add the log of panic stack.\r\nbtw, the default value DEFAULT_CLEAN_INTERVAL_TIME, one second is too short-lived. when the pool size is too large , Performance will drop .\r\n""",,,3e1c7a03a512a7de8c9049d56237e5d2de2f30eb,master,master,f447bf104a4eff069b6019db406c31dd54d7b3ef,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,https://github.com/panjf2000/ants/pull/40,Anteoy,17495446,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,259, 1,308859272,134018330,0,41,closed,support nonblocking submit and max blocking limit setting,2019-08-20T03:24:27.000+00:00,2019-08-20T11:52:19.000+00:00,2019-08-20T10:55:19.000+00:00,0,0,0,0,0,0,2019-08-20T10:55:19.000+00:00,"""Signed-off-by: Cholerae Hu """,,,faef79b7d8a4876da8a215d7794cce20c710aaa2,nonblocking,master,dc8169d5c2645bfc507d6993b7d215326300f31b,58466b12b03a603d9f0331bbcc64a7557b27865d,https://github.com/panjf2000/ants/pull/41,choleraehyq,8923413,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,260, 1,311420898,134018330,134018330,48,closed,Create CODE_OF_CONDUCT.md,2019-08-27T14:44:03.000+00:00,2019-08-28T05:30:30.000+00:00,2019-08-27T14:46:22.000+00:00,0,0,0,0,0,0,2019-08-27T14:46:22.000+00:00,"""""",,,d5eded45bffe827e5a64a3376c4b94f08b641031,add-code-of-conduct-1,master,44aec9954f58987c37d5937ba590bbf0812a32de,bba6c12b60eff3445adcc168fff3bfdcad9e2571,https://github.com/panjf2000/ants/pull/48,panjf2000,7496278,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,261, @@ -22,7 +22,7 @@ connection_id,github_id,repo_id,head_repo_id,number,state,title,github_created_a 1,379435034,134018330,0,79,closed,Fix a bug that doesn't release lock,2020-02-25T08:30:05.000+00:00,2020-05-07T16:12:40.000+00:00,2020-02-26T03:15:03.000+00:00,0,0,0,0,0,0,2020-02-26T03:15:03.000+00:00,"""err!=nil chinese , chinese defer p.lock.Unlock() chinese \r\n\r\n---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: ''\r\nlabels: ''\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\n\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [ ] I have squashed all insignificant commits.\r\n- [ ] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",,,d8cb0361988bf8a0a2a5bee93a06f9c4e1b65e61,master,master,c3b448271b0f84fd3e850b679bf29e7965fe7608,e7a2d3706bf4d32f0e927258b10d2a3585b9ed7d,https://github.com/panjf2000/ants/pull/79,lam2003,22312935,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,266, 1,404931293,134018330,256385795,87,closed,fix:v2 dir not exist,2020-04-17T05:34:28.000+00:00,2020-04-19T03:03:07.000+00:00,2020-04-19T03:03:07.000+00:00,0,0,0,0,0,0,,"""---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: ''\r\nlabels: ''\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nbug-fix\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\nI need to use this repo, but it has errors. \r\nThere is a internal dir, but no v2/internal and v2/internal is used in repo. i just added a new v2/internal dir copied from internal dir.\r\n\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [ ] I have squashed all insignificant commits.\r\n- [ ] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [ ] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",,,010ef635a955c8ab81620e78099440311f273111,master,master,f33679bb799fe76b52d47d3172c40ce229463198,402dcefd038c7db892b3c433d1d93e09a3e48652,https://github.com/panjf2000/ants/pull/87,shanghai-Jerry,12420699,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,267, 1,410487606,134018330,259825622,89,closed,Fix indent on README,2020-04-29T04:51:26.000+00:00,2020-06-22T13:58:37.000+00:00,2020-04-29T07:08:43.000+00:00,0,0,0,0,0,0,2020-04-29T07:08:43.000+00:00,"""---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: 'Fix indent'\r\nlabels: ''\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nNo.\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\nThere are wrong idents on README.md.\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [ ] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [ ] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",,,88b5a85d64e3aa487f157dc6266472a7a14eeb0d,patch-1,master,f33679bb799fe76b52d47d3172c40ce229463198,51f1f518835109c3de3cfa42bf29a01cc5fcd788,https://github.com/panjf2000/ants/pull/89,wreulicke,12907474,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,268, -1,415925259,134018330,0,91,closed," chinese workerChanCap chinese ",2020-05-11T07:40:41.000+00:00,2020-05-11T10:15:54.000+00:00,2020-05-11T09:27:30.000+00:00,0,0,0,0,0,0,,"""---\r\nname: Pull request\r\nabout: support customize workerChanCap \r\ntitle: ''\r\nlabels: ''\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\n\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [ ] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",,,ff938265a22ac26c4a2ff7ee0f696cf4fe9e3895,master,master,1c534853c887e0a7b0d56d51303bf09f201e26a0,b1ce6e8fb4f31b4d75b748bbe2d03c28e0f737f2,https://github.com/panjf2000/ants/pull/91,lntotk,5227289,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,269, +1,415925259,134018330,0,91,closed, chinese workerChanCap chinese ,2020-05-11T07:40:41.000+00:00,2020-05-11T10:15:54.000+00:00,2020-05-11T09:27:30.000+00:00,0,0,0,0,0,0,,"""---\r\nname: Pull request\r\nabout: support customize workerChanCap \r\ntitle: ''\r\nlabels: ''\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\n\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [ ] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",,,ff938265a22ac26c4a2ff7ee0f696cf4fe9e3895,master,master,1c534853c887e0a7b0d56d51303bf09f201e26a0,b1ce6e8fb4f31b4d75b748bbe2d03c28e0f737f2,https://github.com/panjf2000/ants/pull/91,lntotk,5227289,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,269, 1,452382525,134018330,280806104,100,closed,chore: support go1.14,2020-07-19T06:38:38.000+00:00,2020-07-19T15:00:14.000+00:00,2020-07-19T14:59:48.000+00:00,0,0,0,0,0,0,2020-07-19T14:59:48.000+00:00,"""as title.""",,,0a7be73d35726850863a80432dec0ac5c78cdfb4,patch,master,b2666199751ef4fe666c175ba667d18a182b67e0,18623ceb17a9230484ff5d1a31c3beb0b631a2f3,https://github.com/panjf2000/ants/pull/100,appleboy,21979,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,270, 1,461992435,134018330,284629248,103,closed,Add a Gitter chat badge to README.md,2020-08-03T07:12:25.000+00:00,2020-08-03T07:17:52.000+00:00,2020-08-03T07:17:52.000+00:00,0,0,0,0,0,0,,"""### panjf2000/ants now has a Chat Room on Gitter\n\n@panjf2000 has just created a chat room. You can visit it here: [https://gitter.im/ants-pool/ants](https://gitter.im/ants-pool/ants?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&content=body_link).\n\nThis pull-request adds this badge to your README.md:\n\n\n[![Gitter](https://badges.gitter.im/ants-pool/ants.svg)](https://gitter.im/ants-pool/ants?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=body_badge)\n\nIf my aim is a little off, please [let me know](https://gitlab.com/gitlab-org/gitter/readme-badger/issues).\n\nHappy chatting.\n\n\nPS: [Click here](https://gitter.im/settings/badger/opt-out) if you would prefer not to receive automatic pull-requests from Gitter in future.\n""",,,acb7f9847897513820e2467ef9720cb213a97133,gitter-badge,master,c32db55d3e7e19d8300760de03584072b6a9de93,f323aef64aa8b47b777037502adf6eca0b2f4fd0,https://github.com/panjf2000/ants/pull/103,gitter-badger,8518239,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,271, 1,475457581,134018330,0,107,closed,Avoid memory leak,2020-08-28T15:02:33.000+00:00,2020-08-29T10:51:57.000+00:00,2020-08-29T10:51:57.000+00:00,0,0,0,0,0,0,2020-08-29T10:51:57.000+00:00,"""---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: 'avoid memory leaky'\r\nlabels: 'gc'\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n bug fix\r\n\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n chinese stack,loop queue chinese nil chinese , chinese , chinese , chinese goroutine chinese , chinese goWorker chinese , chinese , chinese , chinese , chinese , chinese ( chinese nil), chinese , chinese sync.Pool.\r\n chinese , chinese sync.Pool chinese , chinese go chinese gc chinese ? \r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [ ] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",,,ef6017217221e20416d886c0231dd5134752ef4e,master,master,21f632368adbd3b3af71038ab697a6585a40db62,e2ccffc1650009dcf72cf93dbe95888abfba63eb,https://github.com/panjf2000/ants/pull/107,thinkgos,49174849,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,272, @@ -47,4 +47,4 @@ connection_id,github_id,repo_id,head_repo_id,number,state,title,github_created_a 1,791490205,134018330,0,198,closed,optimize: calculating mid in binary search,2021-11-30T09:34:02.000+00:00,2021-12-01T00:42:16.000+00:00,2021-12-01T00:42:16.000+00:00,0,0,0,0,0,0,,"""---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: ''\r\nlabels: ''\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nOptimization.\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\nTo avoid calculating mid overflow, see [stackoverflow](https://stackoverflow.com/questions/6735259/calculating-mid-in-binary-search) discussion.\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [ ] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [ ] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",,,0a67f19748a39459ab7b84e0bb89d9314e751433,optimize-calculating-mid,master,1e897421860606afc3d1304cafe5cd187cee13e9,c038cb6a3fdb41292378e91098b5badff5adb8f4,https://github.com/panjf2000/ants/pull/198,qmdx00,27898261,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,291, 1,816835878,134018330,445578800,206,closed,Add binarysearch of loop queue,2022-01-08T10:06:36.000+00:00,2022-01-31T02:49:04.000+00:00,2022-01-31T02:49:03.000+00:00,0,0,0,0,0,0,2022-01-31T02:49:03.000+00:00,"""---\r\nname: Pull request\r\nabout: Add binarysearch method to loop_queue to get expired workers, just like worker_stack.\r\ntitle: ''\r\nlabels: ''\r\nassignees: 'bright2227'\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\noptimizations \r\n\r\n\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\nI found that loop_queue had an intention to use binarysearch method, just like worker_stack. But it's removed before being merged into the master branch due to some bugs. I mapped true positions to imaginary positions before using binarysearch method and also add some tests to make sure it works.\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\nhttps://github.com/panjf2000/ants/pull/53#pullrequestreview-299506068\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\nNo need.\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [ ] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [x] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",,,1bd4304727b2ea62ec243f3145389d6ffe3607cf,add_binarysearch_of_loop_q,master,1e897421860606afc3d1304cafe5cd187cee13e9,1b95a084ac08cd34e247b5d3d0063778cfc14748,https://github.com/panjf2000/ants/pull/206,bright2227,64823610,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,292, 1,835038436,134018330,449536867,210,closed,Awake the blocking callers when Tune(size int) is invoked to expand the pool,2022-01-29T08:01:24.000+00:00,2022-04-14T17:31:43.000+00:00,2022-02-14T13:51:41.000+00:00,0,0,0,0,0,0,2022-02-14T13:51:40.000+00:00,"""…capacity\r\n\r\n---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: 'Instantly scale up capacity when using Tune(size int) to enlarge the capacity'\r\nlabels: 'enhancement'\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nWhen using Tune(size int) to enlarge the capacity, create a worker immediately to perform blocking tasks.\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\nclose #205 \r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [x] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",,,fbd17036dbf5ae677ba9e41326745a65e655232f,feat/instantly-scale-up-capacity,master,0fa2fd6dc1811f81026a252854f4a8c0471ac7b0,0e17530397bcec737dd9a77fc9589a6866ec4f6e,https://github.com/panjf2000/ants/pull/210,codingfanlt,35493957,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,293, -1,842184289,134018330,456662951,211,open,Remove worker_func.go and modify pool_func.go simplifying the library,2022-02-07T21:31:30.000+00:00,2022-02-22T16:48:28.000+00:00,,0,0,0,0,0,0,,"""---\r\nname: Remove worker_func.go and modify pool_func.go simplifying the library\r\nabout: Remove worker_func.go and modify pool_func.go to simply utilize the non-func pool+worker implementation\r\ntitle: 'Remove worker_func.go and modify pool_func.go simplifying the library'\r\nlabels: ''\r\nassignees: @panjf2000 \r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nSimplifying the library\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\nWhile reading through the library it became clear to me that `PoolWithFunc` was just a specific case of `Pool`, where instead of submitting tasks, the caller simply passes arguments for a pre-defined function to be run on the workers. This means that, instead of a `chan func() interface{}` as the message queue, we use a `chan interface{}`, and IMO this shouldn't warrant a completely different `Pool` implementation.\r\n\r\nThis PR proposes the complete removal of the `worker_func.go` file, choosing instead to adapt `PoolWithFunc` to use the default `Pool`, changing `.Invoke` to simply call the underlying `Pool.Submit` method with an anonymous function wrapping `p.poolFunc(args)`, transforming it into a `goWorker` accepted task, giving us a more robust and simpler library.\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\nNo documentation changes are needed as this doesn't change any of API or examples used.\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [x] I have written unit tests and verified that all tests passes (if needed).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n- ~I have documented feature info on the README (only when this PR is adding a new feature).~\r\n""",,,abc622e2696d0f5c1521c96dd206fc2a25c45ad4,simpler-pool-func,master,134f354e8e3ba73a35bc7da671ea6d1a8001d35d,863116682b4378fc82f00c950e5c6469c0e295bb,https://github.com/panjf2000/ants/pull/211,lucafmarques,15234973,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,294, +1,842184289,134018330,456662951,211,open,Remove worker_func.go and modify pool_func.go simplifying the library,2022-02-07T21:31:30.000+00:00,2022-02-22T16:48:28.000+00:00,,0,0,0,0,0,0,,"""---\r\nname: Remove worker_func.go and modify pool_func.go simplifying the library\r\nabout: Remove worker_func.go and modify pool_func.go to simply utilize the non-func pool+worker implementation\r\ntitle: 'Remove worker_func.go and modify pool_func.go simplifying the library'\r\nlabels: ''\r\nassignees: @panjf2000 \r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nSimplifying the library\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\nWhile reading through the library it became clear to me that `PoolWithFunc` was just a specific case of `Pool`, where instead of submitting tasks, the caller simply passes arguments for a pre-defined function to be run on the workers. This means that, instead of a `chan func() interface{}` as the message queue, we use a `chan interface{}`, and IMO this shouldn't warrant a completely different `Pool` implementation.\r\n\r\nThis PR proposes the complete removal of the `worker_func.go` file, choosing instead to adapt `PoolWithFunc` to use the default `Pool`, changing `.Invoke` to simply call the underlying `Pool.Submit` method with an anonymous function wrapping `p.poolFunc(args)`, transforming it into a `goWorker` accepted task, giving us a more robust and simpler library.\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\nNo documentation changes are needed as this doesn't change any of API or examples used.\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [x] I have written unit tests and verified that all tests passes (if needed).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n- ~I have documented feature info on the README (only when this PR is adding a new feature).~\r\n""",,,abc622e2696d0f5c1521c96dd206fc2a25c45ad4,simpler-pool-func,master,134f354e8e3ba73a35bc7da671ea6d1a8001d35d,863116682b4378fc82f00c950e5c6469c0e295bb,https://github.com/panjf2000/ants/pull/211,lucafmarques,15234973,1,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,294, diff --git a/backend/plugins/github/e2e/snapshot_tables/pull_requests.csv b/backend/plugins/github/e2e/snapshot_tables/pull_requests.csv index 49f90b21f71..ebaaed1c440 100644 --- a/backend/plugins/github/e2e/snapshot_tables/pull_requests.csv +++ b/backend/plugins/github/e2e/snapshot_tables/pull_requests.csv @@ -11,7 +11,7 @@ github:GithubPullRequest:1:231840723,github:GithubRepo:1:134018330,github:Github github:GithubPullRequest:1:246250598,github:GithubRepo:1:134018330,github:GithubRepo:1:0,MERGED,closed,feature: add PanicHandler,"""@panjf2000 PTAL\r\nFix #22 \r\nSigned-off-by: Cholerae Hu """,https://github.com/panjf2000/ants/pull/23,choleraehyq,github:GithubAccount:1:8923413,,23,2019-01-21T10:58:15.000+00:00,2019-01-22T05:41:34.000+00:00,2019-01-22T05:41:34.000+00:00,,,9158bd37025ccdd29d6346a6639a282e0060c7e2,panichandler,master,812dd4e01075be3cf97429a43abaf6837908cdcd,5bbc9e170bbee27c37bcc30da3da75b4531d1edb,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,255, github:GithubPullRequest:1:267414275,github:GithubRepo:1:134018330,github:GithubRepo:1:0,MERGED,closed,goreport: lint warning on code comment structure,"""Added a newline between group comment and exported variable line πŸ˜„""",https://github.com/panjf2000/ants/pull/30,sarathsp06,github:GithubAccount:1:964542,,30,2019-04-04T11:52:48.000+00:00,2019-04-23T11:11:58.000+00:00,2019-04-23T11:11:58.000+00:00,,,dec04010834ccd3691eb1776045ce3b9310ce26c,patch-1,master,4ae3fb8dc413492862469027bb58cb45b77338f1,ec5d1f3b8107265cb53536975504c7cda4f6d68f,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,256, github:GithubPullRequest:1:292246524,github:GithubRepo:1:134018330,github:GithubRepo:1:194015289,CLOSED,closed,handle job panic,"""""",https://github.com/panjf2000/ants/pull/36,king526,github:GithubAccount:1:38849208,,36,2019-06-27T03:27:05.000+00:00,,2019-08-17T20:32:34.000+00:00,,,95e11bf85f18a80197918d15a19ec10f41903d63,master,master,05e96abd6103ae7b70436abe58dbc0ad7e740929,39f04c6e65b76b5f20abd3ca0606db4cd038e5c2,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,257, -github:GithubPullRequest:1:300598936,github:GithubRepo:1:134018330,github:GithubRepo:1:198582966,MERGED,closed," chinese ","""""",https://github.com/panjf2000/ants/pull/39,wwjiang,github:GithubAccount:1:1290360,,39,2019-07-24T07:41:02.000+00:00,2019-07-26T04:00:12.000+00:00,2019-07-26T04:00:12.000+00:00,,,21a109c7f0873c8f466d6710de23474968940011,master,master,fc48d32604efc2b36d144b8f83d34c1aa1fda1c9,b44a12884b495713a44f796981267ed87134decb,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,258, +github:GithubPullRequest:1:300598936,github:GithubRepo:1:134018330,github:GithubRepo:1:198582966,MERGED,closed, chinese ,"""""",https://github.com/panjf2000/ants/pull/39,wwjiang,github:GithubAccount:1:1290360,,39,2019-07-24T07:41:02.000+00:00,2019-07-26T04:00:12.000+00:00,2019-07-26T04:00:12.000+00:00,,,21a109c7f0873c8f466d6710de23474968940011,master,master,fc48d32604efc2b36d144b8f83d34c1aa1fda1c9,b44a12884b495713a44f796981267ed87134decb,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,258, github:GithubPullRequest:1:301421607,github:GithubRepo:1:134018330,github:GithubRepo:1:198955529,MERGED,closed,"optimize memory allocation, change the default pool param and add the log of panic stack.","""Hi, I am using it on my online server which almost need 5 million goroutines on each go service.\r\nI'm divided into 10 small pools, because a pool of five million will slow down the speed associated with the slice.\r\nI made some small optimizations, I hope this is useful.\r\noptimize memory allocation, change the default pool param and add the log of panic stack.\r\nbtw, the default value DEFAULT_CLEAN_INTERVAL_TIME, one second is too short-lived. when the pool size is too large , Performance will drop .\r\n""",https://github.com/panjf2000/ants/pull/40,Anteoy,github:GithubAccount:1:17495446,,40,2019-07-26T07:07:06.000+00:00,2019-07-26T15:22:26.000+00:00,2019-07-26T15:22:26.000+00:00,,,3e1c7a03a512a7de8c9049d56237e5d2de2f30eb,master,master,f447bf104a4eff069b6019db406c31dd54d7b3ef,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,259, github:GithubPullRequest:1:308859272,github:GithubRepo:1:134018330,github:GithubRepo:1:0,MERGED,closed,support nonblocking submit and max blocking limit setting,"""Signed-off-by: Cholerae Hu """,https://github.com/panjf2000/ants/pull/41,choleraehyq,github:GithubAccount:1:8923413,,41,2019-08-20T03:24:27.000+00:00,2019-08-20T10:55:19.000+00:00,2019-08-20T10:55:19.000+00:00,,,faef79b7d8a4876da8a215d7794cce20c710aaa2,nonblocking,master,dc8169d5c2645bfc507d6993b7d215326300f31b,58466b12b03a603d9f0331bbcc64a7557b27865d,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,260, github:GithubPullRequest:1:311420898,github:GithubRepo:1:134018330,github:GithubRepo:1:134018330,MERGED,closed,Create CODE_OF_CONDUCT.md,"""""",https://github.com/panjf2000/ants/pull/48,panjf2000,github:GithubAccount:1:7496278,,48,2019-08-27T14:44:03.000+00:00,2019-08-27T14:46:22.000+00:00,2019-08-27T14:46:22.000+00:00,,,d5eded45bffe827e5a64a3376c4b94f08b641031,add-code-of-conduct-1,master,44aec9954f58987c37d5937ba590bbf0812a32de,bba6c12b60eff3445adcc168fff3bfdcad9e2571,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,261, @@ -22,7 +22,7 @@ github:GithubPullRequest:1:346931859,github:GithubRepo:1:134018330,github:Github github:GithubPullRequest:1:379435034,github:GithubRepo:1:134018330,github:GithubRepo:1:0,MERGED,closed,Fix a bug that doesn't release lock,"""err!=nil chinese , chinese defer p.lock.Unlock() chinese \r\n\r\n---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: ''\r\nlabels: ''\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\n\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [ ] I have squashed all insignificant commits.\r\n- [ ] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",https://github.com/panjf2000/ants/pull/79,lam2003,github:GithubAccount:1:22312935,,79,2020-02-25T08:30:05.000+00:00,2020-02-26T03:15:03.000+00:00,2020-02-26T03:15:03.000+00:00,,,d8cb0361988bf8a0a2a5bee93a06f9c4e1b65e61,master,master,c3b448271b0f84fd3e850b679bf29e7965fe7608,e7a2d3706bf4d32f0e927258b10d2a3585b9ed7d,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,266, github:GithubPullRequest:1:404931293,github:GithubRepo:1:134018330,github:GithubRepo:1:256385795,CLOSED,closed,fix:v2 dir not exist,"""---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: ''\r\nlabels: ''\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nbug-fix\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\nI need to use this repo, but it has errors. \r\nThere is a internal dir, but no v2/internal and v2/internal is used in repo. i just added a new v2/internal dir copied from internal dir.\r\n\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [ ] I have squashed all insignificant commits.\r\n- [ ] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [ ] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",https://github.com/panjf2000/ants/pull/87,shanghai-Jerry,github:GithubAccount:1:12420699,,87,2020-04-17T05:34:28.000+00:00,,2020-04-19T03:03:07.000+00:00,,,010ef635a955c8ab81620e78099440311f273111,master,master,f33679bb799fe76b52d47d3172c40ce229463198,402dcefd038c7db892b3c433d1d93e09a3e48652,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,267, github:GithubPullRequest:1:410487606,github:GithubRepo:1:134018330,github:GithubRepo:1:259825622,MERGED,closed,Fix indent on README,"""---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: 'Fix indent'\r\nlabels: ''\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nNo.\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\nThere are wrong idents on README.md.\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [ ] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [ ] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",https://github.com/panjf2000/ants/pull/89,wreulicke,github:GithubAccount:1:12907474,,89,2020-04-29T04:51:26.000+00:00,2020-04-29T07:08:43.000+00:00,2020-04-29T07:08:43.000+00:00,,,88b5a85d64e3aa487f157dc6266472a7a14eeb0d,patch-1,master,f33679bb799fe76b52d47d3172c40ce229463198,51f1f518835109c3de3cfa42bf29a01cc5fcd788,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,268, -github:GithubPullRequest:1:415925259,github:GithubRepo:1:134018330,github:GithubRepo:1:0,CLOSED,closed," chinese workerChanCap chinese ","""---\r\nname: Pull request\r\nabout: support customize workerChanCap \r\ntitle: ''\r\nlabels: ''\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\n\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [ ] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",https://github.com/panjf2000/ants/pull/91,lntotk,github:GithubAccount:1:5227289,,91,2020-05-11T07:40:41.000+00:00,,2020-05-11T09:27:30.000+00:00,,,ff938265a22ac26c4a2ff7ee0f696cf4fe9e3895,master,master,1c534853c887e0a7b0d56d51303bf09f201e26a0,b1ce6e8fb4f31b4d75b748bbe2d03c28e0f737f2,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,269, +github:GithubPullRequest:1:415925259,github:GithubRepo:1:134018330,github:GithubRepo:1:0,CLOSED,closed, chinese workerChanCap chinese ,"""---\r\nname: Pull request\r\nabout: support customize workerChanCap \r\ntitle: ''\r\nlabels: ''\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\n\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [ ] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",https://github.com/panjf2000/ants/pull/91,lntotk,github:GithubAccount:1:5227289,,91,2020-05-11T07:40:41.000+00:00,,2020-05-11T09:27:30.000+00:00,,,ff938265a22ac26c4a2ff7ee0f696cf4fe9e3895,master,master,1c534853c887e0a7b0d56d51303bf09f201e26a0,b1ce6e8fb4f31b4d75b748bbe2d03c28e0f737f2,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,269, github:GithubPullRequest:1:452382525,github:GithubRepo:1:134018330,github:GithubRepo:1:280806104,MERGED,closed,chore: support go1.14,"""as title.""",https://github.com/panjf2000/ants/pull/100,appleboy,github:GithubAccount:1:21979,,100,2020-07-19T06:38:38.000+00:00,2020-07-19T14:59:48.000+00:00,2020-07-19T14:59:48.000+00:00,,,0a7be73d35726850863a80432dec0ac5c78cdfb4,patch,master,b2666199751ef4fe666c175ba667d18a182b67e0,18623ceb17a9230484ff5d1a31c3beb0b631a2f3,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,270, github:GithubPullRequest:1:461992435,github:GithubRepo:1:134018330,github:GithubRepo:1:284629248,CLOSED,closed,Add a Gitter chat badge to README.md,"""### panjf2000/ants now has a Chat Room on Gitter\n\n@panjf2000 has just created a chat room. You can visit it here: [https://gitter.im/ants-pool/ants](https://gitter.im/ants-pool/ants?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&content=body_link).\n\nThis pull-request adds this badge to your README.md:\n\n\n[![Gitter](https://badges.gitter.im/ants-pool/ants.svg)](https://gitter.im/ants-pool/ants?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=body_badge)\n\nIf my aim is a little off, please [let me know](https://gitlab.com/gitlab-org/gitter/readme-badger/issues).\n\nHappy chatting.\n\n\nPS: [Click here](https://gitter.im/settings/badger/opt-out) if you would prefer not to receive automatic pull-requests from Gitter in future.\n""",https://github.com/panjf2000/ants/pull/103,gitter-badger,github:GithubAccount:1:8518239,,103,2020-08-03T07:12:25.000+00:00,,2020-08-03T07:17:52.000+00:00,,,acb7f9847897513820e2467ef9720cb213a97133,gitter-badge,master,c32db55d3e7e19d8300760de03584072b6a9de93,f323aef64aa8b47b777037502adf6eca0b2f4fd0,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,271, github:GithubPullRequest:1:475457581,github:GithubRepo:1:134018330,github:GithubRepo:1:0,MERGED,closed,Avoid memory leak,"""---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: 'avoid memory leaky'\r\nlabels: 'gc'\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n bug fix\r\n\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n chinese stack,loop queue chinese nil chinese , chinese , chinese , chinese goroutine chinese , chinese goWorker chinese , chinese , chinese , chinese , chinese , chinese ( chinese nil), chinese , chinese sync.Pool.\r\n chinese , chinese sync.Pool chinese , chinese go chinese gc chinese ? \r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [ ] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",https://github.com/panjf2000/ants/pull/107,thinkgos,github:GithubAccount:1:49174849,,107,2020-08-28T15:02:33.000+00:00,2020-08-29T10:51:57.000+00:00,2020-08-29T10:51:57.000+00:00,,,ef6017217221e20416d886c0231dd5134752ef4e,master,master,21f632368adbd3b3af71038ab697a6585a40db62,e2ccffc1650009dcf72cf93dbe95888abfba63eb,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,272, @@ -47,4 +47,4 @@ github:GithubPullRequest:1:770998086,github:GithubRepo:1:134018330,github:Github github:GithubPullRequest:1:791490205,github:GithubRepo:1:134018330,github:GithubRepo:1:0,CLOSED,closed,optimize: calculating mid in binary search,"""---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: ''\r\nlabels: ''\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nOptimization.\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\nTo avoid calculating mid overflow, see [stackoverflow](https://stackoverflow.com/questions/6735259/calculating-mid-in-binary-search) discussion.\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [ ] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [ ] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [ ] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",https://github.com/panjf2000/ants/pull/198,qmdx00,github:GithubAccount:1:27898261,,198,2021-11-30T09:34:02.000+00:00,,2021-12-01T00:42:16.000+00:00,,,0a67f19748a39459ab7b84e0bb89d9314e751433,optimize-calculating-mid,master,1e897421860606afc3d1304cafe5cd187cee13e9,c038cb6a3fdb41292378e91098b5badff5adb8f4,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,291, github:GithubPullRequest:1:816835878,github:GithubRepo:1:134018330,github:GithubRepo:1:445578800,MERGED,closed,Add binarysearch of loop queue,"""---\r\nname: Pull request\r\nabout: Add binarysearch method to loop_queue to get expired workers, just like worker_stack.\r\ntitle: ''\r\nlabels: ''\r\nassignees: 'bright2227'\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\noptimizations \r\n\r\n\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\nI found that loop_queue had an intention to use binarysearch method, just like worker_stack. But it's removed before being merged into the master branch due to some bugs. I mapped true positions to imaginary positions before using binarysearch method and also add some tests to make sure it works.\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\nhttps://github.com/panjf2000/ants/pull/53#pullrequestreview-299506068\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\nNo need.\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [ ] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [x] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",https://github.com/panjf2000/ants/pull/206,bright2227,github:GithubAccount:1:64823610,,206,2022-01-08T10:06:36.000+00:00,2022-01-31T02:49:03.000+00:00,2022-01-31T02:49:03.000+00:00,,,1bd4304727b2ea62ec243f3145389d6ffe3607cf,add_binarysearch_of_loop_q,master,1e897421860606afc3d1304cafe5cd187cee13e9,1b95a084ac08cd34e247b5d3d0063778cfc14748,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,292, github:GithubPullRequest:1:835038436,github:GithubRepo:1:134018330,github:GithubRepo:1:449536867,MERGED,closed,Awake the blocking callers when Tune(size int) is invoked to expand the pool,"""…capacity\r\n\r\n---\r\nname: Pull request\r\nabout: Propose changes to the code\r\ntitle: 'Instantly scale up capacity when using Tune(size int) to enlarge the capacity'\r\nlabels: 'enhancement'\r\nassignees: ''\r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nWhen using Tune(size int) to enlarge the capacity, create a worker immediately to perform blocking tasks.\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\n\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\nclose #205 \r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\n\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [x] I have written unit tests and verified that all tests passes (if needed).\r\n- [ ] I have documented feature info on the README (only when this PR is adding a new feature).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n""",https://github.com/panjf2000/ants/pull/210,codingfanlt,github:GithubAccount:1:35493957,,210,2022-01-29T08:01:24.000+00:00,2022-02-14T13:51:40.000+00:00,2022-02-14T13:51:41.000+00:00,,,fbd17036dbf5ae677ba9e41326745a65e655232f,feat/instantly-scale-up-capacity,master,0fa2fd6dc1811f81026a252854f4a8c0471ac7b0,0e17530397bcec737dd9a77fc9589a6866ec4f6e,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,293, -github:GithubPullRequest:1:842184289,github:GithubRepo:1:134018330,github:GithubRepo:1:456662951,OPEN,open,Remove worker_func.go and modify pool_func.go simplifying the library,"""---\r\nname: Remove worker_func.go and modify pool_func.go simplifying the library\r\nabout: Remove worker_func.go and modify pool_func.go to simply utilize the non-func pool+worker implementation\r\ntitle: 'Remove worker_func.go and modify pool_func.go simplifying the library'\r\nlabels: ''\r\nassignees: @panjf2000 \r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nSimplifying the library\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\nWhile reading through the library it became clear to me that `PoolWithFunc` was just a specific case of `Pool`, where instead of submitting tasks, the caller simply passes arguments for a pre-defined function to be run on the workers. This means that, instead of a `chan func() interface{}` as the message queue, we use a `chan interface{}`, and IMO this shouldn't warrant a completely different `Pool` implementation.\r\n\r\nThis PR proposes the complete removal of the `worker_func.go` file, choosing instead to adapt `PoolWithFunc` to use the default `Pool`, changing `.Invoke` to simply call the underlying `Pool.Submit` method with an anonymous function wrapping `p.poolFunc(args)`, transforming it into a `goWorker` accepted task, giving us a more robust and simpler library.\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\nNo documentation changes are needed as this doesn't change any of API or examples used.\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [x] I have written unit tests and verified that all tests passes (if needed).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n- ~I have documented feature info on the README (only when this PR is adding a new feature).~\r\n""",https://github.com/panjf2000/ants/pull/211,lucafmarques,github:GithubAccount:1:15234973,,211,2022-02-07T21:31:30.000+00:00,,,,,abc622e2696d0f5c1521c96dd206fc2a25c45ad4,simpler-pool-func,master,134f354e8e3ba73a35bc7da671ea6d1a8001d35d,863116682b4378fc82f00c950e5c6469c0e295bb,0,0,0,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,294, +github:GithubPullRequest:1:842184289,github:GithubRepo:1:134018330,github:GithubRepo:1:456662951,OPEN,open,Remove worker_func.go and modify pool_func.go simplifying the library,"""---\r\nname: Remove worker_func.go and modify pool_func.go simplifying the library\r\nabout: Remove worker_func.go and modify pool_func.go to simply utilize the non-func pool+worker implementation\r\ntitle: 'Remove worker_func.go and modify pool_func.go simplifying the library'\r\nlabels: ''\r\nassignees: @panjf2000 \r\n---\r\n\r\n\r\n\r\n## 1. Are you opening this pull request for bug-fixs, optimizations or new feature?\r\n\r\nSimplifying the library\r\n\r\n## 2. Please describe how these code changes achieve your intention.\r\n\r\n\r\nWhile reading through the library it became clear to me that `PoolWithFunc` was just a specific case of `Pool`, where instead of submitting tasks, the caller simply passes arguments for a pre-defined function to be run on the workers. This means that, instead of a `chan func() interface{}` as the message queue, we use a `chan interface{}`, and IMO this shouldn't warrant a completely different `Pool` implementation.\r\n\r\nThis PR proposes the complete removal of the `worker_func.go` file, choosing instead to adapt `PoolWithFunc` to use the default `Pool`, changing `.Invoke` to simply call the underlying `Pool.Submit` method with an anonymous function wrapping `p.poolFunc(args)`, transforming it into a `goWorker` accepted task, giving us a more robust and simpler library.\r\n\r\n## 3. Please link to the relevant issues (if any).\r\n\r\n\r\n## 4. Which documentation changes (if any) need to be made/updated because of this PR?\r\n\r\n\r\nNo documentation changes are needed as this doesn't change any of API or examples used.\r\n\r\n## 4. Checklist\r\n\r\n- [x] I have squashed all insignificant commits.\r\n- [x] I have commented my code for explaining package types, values, functions, and non-obvious lines.\r\n- [x] I have written unit tests and verified that all tests passes (if needed).\r\n- [x] (optional) I am willing to help maintain this change if there are issues with it later.\r\n- ~I have documented feature info on the README (only when this PR is adding a new feature).~\r\n""",https://github.com/panjf2000/ants/pull/211,lucafmarques,github:GithubAccount:1:15234973,,211,2022-02-07T21:31:30.000+00:00,,,,,abc622e2696d0f5c1521c96dd206fc2a25c45ad4,simpler-pool-func,master,134f354e8e3ba73a35bc7da671ea6d1a8001d35d,863116682b4378fc82f00c950e5c6469c0e295bb,0,0,1,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_requests,294,