Commit Graph

156 Commits

Author SHA1 Message Date
Andy Pan 08d01b6b48 🎏Fix a bug where invokers get stuck in waiting idle workers 2019-08-18 04:15:21 +08:00
Andy Pan af70ed0660 🎏Fix a bug where invokers get stuck in waiting idle workers 2019-08-18 02:45:32 +08:00
Andy Pan 61660e2109 📚Refactor the blocking logic in retrieveWorker function 2019-07-27 13:08:09 +08:00
Andy Pan 51c0008356 🐞Fix a bug that blocks getting worker from pool 2019-07-27 12:05:44 +08:00
Andy Pan 71faec8c1a ☄️Rename the function with the more applicable name 2019-07-26 23:52:05 +08:00
anteoy 3e1c7a03a5 optimize memory allocation and add the log of panic stack 2019-07-26 23:22:24 +08:00
Andy Pan 9eb91a4ae0 📝Optimize the logic when cleaning up expired workers 2019-07-26 14:14:58 +08:00
markjiang 21a109c7f0 优化清理速度并修复内存泄漏 2019-07-26 12:00:11 +08:00
Andy Pan d6076c09aa 🙄 Improvement in `periodicallyPurge` 2019-04-14 11:30:19 +08:00
Andy Pan 00294fd50b 😏 Optimization of the structure and style 2019-04-14 11:08:06 +08:00
Andy Pan 05fbdb8d5b 🎭 Fix race error 2019-04-14 11:08:06 +08:00
Andy Pan aa7dd6f8cc 🦖 Develop a more graceful release 2019-04-14 11:08:06 +08:00
Andy Pan 15507b021f 🚀 Support not only anonymous but also explicit functions 2019-02-02 10:36:40 +08:00
Andy Pan 91377c898b 🦅 Fix a bug when using sync.Pool 2019-01-27 05:10:13 +08:00
Andy Pan 5c666692e9 🐬 Code logic improvement in pool.retrieveWorker 2019-01-27 04:25:36 +08:00
Andy Pan 689d74c63b Refactor about the synchronous lock 2019-01-27 04:05:58 +08:00
Andy Pan 908553139c 🐬 Performance improvement: use sync.Pool to cache active workers 2019-01-27 00:26:24 +08:00
Andy Pan 90f672b9d5 update 2019-01-26 21:45:49 +08:00
Andy Pan f8d71bb276 🐯 Refactor variable "release" with atomic operation 2019-01-26 15:29:05 +08:00
Andy Pan b091435432 🐲 An optimization in worker channel 2019-01-26 14:32:12 +08:00
Andy Pan c829c6f622 🐶 Replace the type of variable "release" with bool type 2019-01-26 13:45:00 +08:00
Andy Pan 096e6f1513 🦁 Fix the bug in function "Submit()" 2019-01-26 13:16:35 +08:00
Andy Pan d3bcc5d10b 🐳 Use the nil of chan to indicate the pool closed or not 2019-01-26 12:26:26 +08:00
Andy Pan 65b3ac9ff7 🐉 Optimize code comments 2019-01-25 22:01:11 +08:00
Cholerae Hu 9158bd3702 feature: add PanicHandler
Signed-off-by: Cholerae Hu <choleraehyq@gmail.com>
2019-01-22 13:41:33 +08:00
Andy Pan 4320708756 supplement annotations 2018-12-07 01:11:54 +08:00
Andy Pan 639f55c4c9
Merge pull request #19 from zplzpl/hotfix/tickerStop
Possible memory leak because of Ticker
2018-12-01 23:49:31 +08:00
Andy Pan d8c168b198 remove useless return value from pool function 2018-12-01 19:22:05 +08:00
Andy Pan d052cf95e1 add some annotations 2018-12-01 18:41:42 +08:00
unknown e7bacd0f12 Possible memory leak because of Ticker 2018-11-19 10:57:53 +08:00
SimePel d9eac77ae5 remove meaningless if 2018-10-01 19:45:21 +07:00
AndyPan 1b62696050 add comments for waiting to get a idle worker 2018-09-30 09:46:56 +08:00
AndyPan e538683d3f add comments 2018-09-30 09:41:47 +08:00
AndyPan e8ccc8ecca format 2018-09-30 09:40:33 +08:00
liyonglion 1846b4392a 解决竞争锁导致bug 2018-09-29 14:58:58 +08:00
liyonglion 8ecd5078ac 解决死锁问题 2018-09-29 10:19:17 +08:00
liyonglion 70731aff71 解决死循环导致cpu占用率过高 2018-09-28 19:28:09 +08:00
andy pan e25a58c9f3 optimization for cleaning workers 2018-08-29 10:02:41 +08:00
andy pan 8556a67f0f fixed workers leak 2018-08-29 09:53:07 +08:00
andy pan 50918eb4a9 update 2018-08-08 18:13:50 +08:00
andy pan e99d428a5f fixed #7 2018-08-08 18:08:06 +08:00
andy pan 62fc58f047 fixed 清理过期协程报错 #7 2018-08-08 17:22:40 +08:00
Andy Pan 7a2f4e4681 add more comments 2018-08-04 11:12:06 +08:00
Andy Pan 4927155de3 fixed issue #6 2018-08-03 21:15:11 +08:00
Andy Pan 1444008b67 rename methods 2018-08-03 19:28:46 +08:00
andy pan 39951bd2f5 format codes 2018-07-31 11:05:48 +08:00
andy pan 59ad1fa56c optimization for structure 2018-07-31 11:05:05 +08:00
andy pan 042109890a make some methods unexported 2018-07-31 11:03:41 +08:00
barryz 83042d7095 pre-allocate the capacity of the worker list 2018-07-25 22:28:11 +08:00
Andy Pan 634682856f Merge branch 'develop' 2018-07-24 22:30:37 +08:00
Andy Pan a326530368 rename the monitorAndClear function 2018-07-21 18:50:18 +08:00
Andy Pan 4553a7a1c6 update codecov test 2018-07-16 02:43:38 +08:00
Andy Pan d31b2413c6 update 2018-07-16 02:33:43 +08:00
Andy Pan eaf79d239f fixed some issues 2018-07-16 01:21:23 +08:00
Andy Pan 9b4f9c7b48 update codecov test 2018-07-15 22:45:55 +08:00
Andy Pan 74e49c9f28 fixed race issue 2018-07-15 21:16:27 +08:00
Andy Pan 4d0682d342 fixed race issue 2018-07-15 21:09:59 +08:00
Andy Pan d77f01cf9a optimization for GC 2018-07-15 00:57:32 +08:00
Andy Pan 3afa151dd9 simplify and optimize goroutine-worker 2018-07-15 00:52:18 +08:00
Andy Pan c4a50a1867 optimization for pool 2018-07-13 00:11:42 +08:00
Andy Pan 5aa4fd3b9d update 2018-07-08 10:38:40 +08:00
Andy Pan 2e7d823141 optimization for timed task to clear idle workers 2018-07-08 10:29:12 +08:00
Andy Pan 6da1112dff gofmt 2018-07-06 20:24:47 +08:00
Andy Pan 339aaa4475 update 2018-07-06 20:20:18 +08:00
andy pan afba560448 format codes 2018-07-06 15:00:30 +08:00
andy pan b21f63142d fixed the "slice bounds out of range" error 2018-07-06 14:56:59 +08:00
andy pan 5ae6239a57 start a goroutine to clear expired workers when init a pool 2018-07-06 14:42:26 +08:00
andy pan 0cb5a50036 rename func 2018-07-06 14:35:30 +08:00
andy pan d04febc0b2 clear expired workers for Pool 2018-07-06 14:33:07 +08:00
andy pan e64217c364 optimization for releasing pool 2018-06-22 11:42:05 +08:00
Andy Pan daf637e4f7 optimization for getWorker() 2018-06-15 08:04:28 +08:00
andy pan affcb8eaf7 Merge branch 'develop' 2018-05-30 12:59:00 +08:00
andy pan d56ebb1a29 finish the ReSize() and Release() methods 2018-05-30 12:57:20 +08:00
Andy Pan 5326374a22 Auto stash before merge of "develop" and "origin/develop" 2018-05-24 23:43:34 +08:00
andy pan aaa7bad491 rearrange task channel 2018-05-24 19:32:45 +08:00
andy pan 07f98b4ac6 remove some comments 2018-05-24 19:30:18 +08:00
andy pan ab6390f6d0 optimization 2018-05-24 19:27:54 +08:00
andy pan 6581f1821d update 2018-05-24 18:35:26 +08:00
andy pan 2e3a9a650e update go test 2018-05-23 17:21:39 +08:00
Andy Pan 0453f88168 update 2018-05-23 00:46:43 +08:00
andy pan f4a3fc5efd add one more check when getting worker 2018-05-22 16:10:29 +08:00
andy pan 4c08436194 format the some comments 2018-05-21 10:37:03 +08:00
Andy Pan 0244b2356f update MIT license info 2018-05-20 23:57:48 +08:00
Andy Pan f0c48f295b golint the codes 2018-05-20 21:41:32 +08:00
Andy Pan 47e2b9efaa gofmt 2018-05-20 21:29:38 +08:00
Andy Pan 301221be5d add all comments 2018-05-20 21:09:45 +08:00
Andy Pan 1ee8144272 add a new module of cleaning up goroutines 2018-05-20 18:57:11 +08:00
Andy Pan 2b0c0227b6 add the copyright of MIT license 2018-05-20 16:37:17 +08:00
Andy Pan ddcdb57b63 pass the benchmark test 2018-05-20 16:22:56 +08:00
Andy Pan d24d6020c3 optimization 2018-05-20 15:28:27 +08:00
Andy Pan 5b274e54b4 test 2018-05-20 11:51:14 +08:00
Andy Pan c5e17c566b update 2018-05-20 10:23:49 +08:00
Andy Pan 92bcb74066 remove useless comments 2018-05-20 09:46:49 +08:00
Andy Pan 798a61d175 optimize memory using 2018-05-20 03:35:31 +08:00
Andy Pan 91349c14bb use sync.Pool to recycle goroutines 2018-05-20 02:52:39 +08:00
Andy Pan a59f51fefd update 2018-05-20 01:38:50 +08:00
Andy Pan 0423264ffa use WaitGroup to wait all goroutines to exit 2018-05-19 19:51:33 +08:00
Andy Pan 0fd8ba8dae use the "container/list" to keep workers 2018-05-19 19:08:31 +08:00
Andy Pan 2929cede54 use sync.Pool 2018-05-19 18:24:36 +08:00
Andy Pan 0c7ba6d3ac optimization 2018-05-19 16:10:38 +08:00