Skip to content

How to make a modular job shell plugin #3232

Answered by grondo
SteVwonder asked this question in Q&A
Discussion options

You must be logged in to vote

I'm not quite able to determine how the plugstack would be used.

Using flux_plugin_register(3) a shell plugin can register a callback for any topic glob, e.g. datastaging.* or datastaging.copy, not just shell.* topics. In a way, you could think of a shell plugin as "subscribing" to events that are emitted by the shell via the plugin interfaces. Since a shell plugin can subscribe to any event, and another shell plugin can "call" any event (via flux_shell_plugstack_call(3)), this allows any plugin to call a function from any other shell plugin.

what is not clear to me is how the plugstack gets created. Would the functionality in stages 3 and 4 still need to be spun out into separate plug…

Replies: 5 comments 9 replies

Comment options

You must be logged in to vote
1 reply
@SteVwonder
Comment options

Answer selected by SteVwonder
Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
8 replies
@jameshcorbett
Comment options

@jameshcorbett
Comment options

@trws
Comment options

@garlick
Comment options

@SteVwonder
Comment options

SteVwonder Dec 9, 2022
Maintainer Author

Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
5 participants