Giter Site home page Giter Site logo

Comments (6)

nilslice avatar nilslice commented on May 26, 2024

@fangzhengjin - which SDK are you using?

Also, what are you hoping to preserve by reloading a plug-in? If there's nothing about the previous plug-in needed, you should just create a new plug-in with the new wasm.

depending on the SDK you may also want to free the previous plug-in.

from extism.

fangzhengjin avatar fangzhengjin commented on May 26, 2024

@fangzhengjin - which SDK are you using?

Also, what are you hoping to preserve by reloading a plug-in? If there's nothing about the previous plug-in needed, you should just create a new plug-in with the new wasm.

depending on the SDK you may also want to free the previous plug-in.

I use Rust SDK.
I want to upgrade the plugin without ending the main process and replace the WASM file. For upper users, they are still the same plugin.
I saw that Rust SDK provided some running methods, but they were all marked as unsafe, and lack of detailed explanation and use examples. Should I use them?

from extism.

fangzhengjin avatar fangzhengjin commented on May 26, 2024

Maybe extism can provide a way to upgrade the plugin?
Block new plug-in call requests during the upgrade process, clean up old plug-in resources and resume plug-in call execution after the upgrade.

from extism.

mhmd-azeez avatar mhmd-azeez commented on May 26, 2024

I want to upgrade the plugin without ending the main process and replace the WASM file. For upper users, they are still the same plugin.

Can you elaborate on that please?

from extism.

fangzhengjin avatar fangzhengjin commented on May 26, 2024

I want to upgrade the plugin without ending the main process and replace the WASM file. For upper users, they are still the same plugin.

Can you elaborate on that please?

I plan to plug-in some system functions and dynamically load them into the system. At this time, a single plug-in will be upgraded, but the main service will not be shut down.
Just like the Jenkins plug-in system, I can modularly update system functions online without restarting the service. For users, they have no perception. The only place where lags may occur is the blocking of requests during plug-in upgrades. New call requests and uninstalling old plug-ins, loading new plug-ins, and resuming blocked requests. If the operation goes smoothly, the user should not notice anything.

from extism.

neuronicnobody avatar neuronicnobody commented on May 26, 2024

@fangzhengjin you should just be able to instantiate a new Extism Plugin and replace it with the old one as @nilslice suggested above. There shouldn't be a need to restart your service to do this.

Can you share a bit more about your architecture? (e.g., is this a multi-threaded app where different threads are sharing the Plugin object)

from extism.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.