Commit Graph

57 Commits

Author SHA1 Message Date
kuangzhiqiang 6c03c1b3c8 fix Frequent plugin pulls (#420)
Co-authored-by: kuangzhiqiang <kuangzhiqiang@xiaomi.com>
2025-08-27 14:16:31 +08:00
homejim 6ae762ba11 feat(plugin_manager): optimize local plugin startup with concurrency (#375)
* feat(plugin_manager): optimize local plugin startup with concurrent control

- Add semaphore-based concurrency control for plugin launches
- Implement parallel plugin startup using goroutines
- Optimize error handling to prevent goroutine blocking
- Add concurrency metrics logging

Note: handleNewLocalPlugins now accepts config parameter with default concurrency limit

* feat(plugin_manager): make local plugin launching concurrency configurable

* fix(plugin_manager): optimize comment and error handling

- Updated comments to clarify the concurrent plugin launching configuration.
- Added a nil check for the error channel during plugin startup to improve code robustness.

* refactor(plugin_manager): refactor plugin startup logic

- Remove the semaphore mechanism and switch to using routine.Submit for concurrency management

* fix(plugin_manager): Optimize plugin startup logs and concurrency control

- Added log output for maximum concurrency when starting local plugins
- Implemented a channel-based concurrency control mechanism to ensure limits are not exceeded
- Fixed closure variable capture issue to prevent incorrect plugin information
- Improved error handling to avoid deadlocks during startup

* fix(plugin_manager): simplify error channel handling and semaphore release logic

---------

Co-authored-by: jim02.he <jim02.he@vipshop.com>
2025-07-08 19:09:31 +08:00
Yeuoly ae2658dd43 refactor(plugin_manager): remove first logging of local plugin launch (#357) 2025-06-24 13:17:19 +08:00
Rhys 3d1e2aba0e fix: skip waiting if error occured (#337)
* fix: skip waiting if error occured

* Update internal/core/plugin_manager/watcher.go

Co-authored-by: Rhys <nghuutho74@gmail.com>

* fix: handle nil error channels in plugin manager

---------

Co-authored-by: Yeuoly <45712896+Yeuoly@users.noreply.github.com>
Co-authored-by: Yeuoly <admin@srmxy.cn>
2025-06-16 19:15:15 +08:00
Yeuoly 5f8072c982 Chore/unify configurations (#319)
* refactor: update PluginManager to use configuration for various configurations

- Replaced hardcoded values in PluginManager methods with values from the configuration.
- Updated serverless plugin launch timeout and working paths to utilize the new configuration structure.
- Enhanced local plugin runtime initialization to pull settings from the configuration, improving maintainability and flexibility.

* refactor: clean up PluginManager by removing unused fields and updating platform check

- Removed commented-out fields from PluginManager to enhance code clarity.
- Updated platform check to utilize the configuration structure instead of a direct field reference, improving maintainability.
2025-06-04 20:18:13 +08:00
Yeuoly c26f5f9359 fix: use double pointer to implement setDefaultValue 2025-01-08 01:35:12 +08:00
Yeuoly 15060ee312 refactor: move entities to pkg 2025-01-06 14:52:02 +08:00
Yeuoly 8796edad8c refactor: confused code structure 2025-01-06 14:16:29 +08:00
Yeuoly 407fb941ca feat: support for pprof 2024-12-04 14:15:16 +08:00
Yeuoly 89714978e8 fix: switch persistence layer to aws s3 2024-11-12 23:42:24 +08:00
Yeuoly 26fd94ebcd refactor: convert snakecase to camelcase 2024-11-12 21:24:41 +08:00
Yeuoly 7a24210817 fix: kill process unexpected 2024-11-08 19:25:30 +08:00
Yeuoly 84703ef1b4 refactor: uni storage 2024-11-08 19:17:19 +08:00
Yeuoly b3133676fc feat: support auto gc of local plugin runtime 2024-11-06 17:04:22 +08:00
Yeuoly 033636c83f feat: support removing local plugin runtime 2024-11-06 16:06:00 +08:00
Yeuoly 69dfe0d8f8 enhancement: remove force reloading process of each time process launched 2024-11-06 13:58:53 +08:00
Yeuoly 44ca0f71d6 feat: support max launching runtime 2024-11-05 19:30:41 +08:00
Yeuoly 0ecb41e62c enhancement: add testcase for remote plugin manager 2024-10-31 15:26:37 +08:00
Yeuoly 7fcefceaf6 fix: store remote plugin runtime while init remote plugin lifecycle process 2024-10-31 09:44:21 +08:00
Yeuoly 79b6e0450c refactor: install plugin to locals 2024-10-29 17:04:03 +08:00
Yeuoly f55a3b2bf8 fix: correctly handle tool invoke message, add metadata 2024-10-22 17:42:39 +08:00
Yeuoly a55f6f507f refactor: install plugin from local 2024-10-18 20:29:02 +08:00
Yeuoly 3664e582b6 refactor: verifier 2024-10-17 13:51:46 +08:00
Yeuoly d919d0fbba fix: remote installation 2024-09-27 16:22:47 +08:00
Yeuoly 267d016d3a feat: support cmdline test 2024-09-19 15:57:07 +08:00
Yeuoly 71a9795be4 refactor: extractor 2024-09-18 19:07:50 +08:00
Yeuoly 26c98695fb feat: support install pkg 2024-09-12 00:59:06 +08:00
Yeuoly b23b52de82 duplex installation 2024-09-10 13:58:27 +08:00
Yeuoly 8dd58b32c4 refactor 2024-09-09 20:03:32 +08:00
Yeuoly de788d49d0 feat: remap positive plugin assets 2024-09-05 22:07:32 +08:00
Yeuoly 1c2d5e6bca feat: support plugin assets 2024-09-04 20:35:56 +08:00
Yeuoly d02ef5effd feat: plugin assets 2024-09-04 18:53:46 +08:00
Yeuoly 277ce2081f refactor: local plugin cwd 2024-09-04 17:06:28 +08:00
Yeuoly efa55c63a9 cleanup 2024-09-02 10:33:16 +08:00
Yeuoly b6208aa4ae cleanup 2024-09-02 10:29:25 +08:00
Yeuoly 11989403be refactor: backwards invocation 2024-08-23 20:58:33 +08:00
Yeuoly c714d99250 refactor: load plugins 2024-08-15 19:02:07 +08:00
Yeuoly 366aefcf06 feat: aws lambda init environment impl 2024-08-15 17:24:44 +08:00
Yeuoly c0596b96f2 fixes 2024-08-09 18:51:43 +08:00
Yeuoly 6798809680 refactor: storage 2024-08-09 16:27:01 +08:00
Yeuoly 8a1c72f1cd feat: webhook 2024-08-07 19:05:05 +08:00
Yeuoly 4972f3011f feat: register remote plugins 2024-08-07 17:39:16 +08:00
Yeuoly 6b554a40f7 tests: redirects 2024-08-07 17:02:01 +08:00
Yeuoly 2b3529296d feat: schedule plugins 2024-08-01 00:57:23 +08:00
Yeuoly b2c4e5cd5f feat: add redis scan hmap 2024-07-30 22:08:06 +08:00
Yeuoly 1ea1134488 refactor 2024-07-30 18:30:21 +08:00
Yeuoly bd9152b1ac feat: replace next-read operation pair to wrap 2024-07-29 17:21:17 +08:00
Yeuoly 17f741634d feat: remote debugging 2024-07-26 21:12:15 +08:00
Yeuoly 52f51e13ad feat: plugin debugging server 2024-07-25 23:19:41 +08:00
Yeuoly c9dc8aadef feat: invoke tool and models 2024-07-19 17:45:00 +08:00