Given an "action A" is running and I want to call (based on conditions) different other actions (from within the same app), what is the best way to achieve this?
1) use node-fetch and the action name?
2) release an event and the other action listens to?
remark: I can't use sequencing since I don't know what the second acrion is. the second action depends on calculation in the first action.
if 2), how can I trigger such an event and how can the "listener"? update the manifest.yml?
thanks in advance for any help!
Solved! Go to Solution.
Topics help categorize Community content and increase your ability to discover relevant content.
Views
Replies
Total Likes
Hi @Urs_Boller , it is recommended to leverage the openwhisk npm to programmatically call actions, triggers, etc.
In terms of implementation, there could be a few ways to achieve what you need:
- If you only want to invoke one action when the condition is met, you can invoke that particular action only.
- If you want to invoke several actions when the condition is met, you can map a trigger to those actions by rules (trigger --> rule A --> action A, trigger --> rule B --> action B). Then you only invoke the trigger once, and all the actions are activated.
Hi @Urs_Boller , it is recommended to leverage the openwhisk npm to programmatically call actions, triggers, etc.
In terms of implementation, there could be a few ways to achieve what you need:
- If you only want to invoke one action when the condition is met, you can invoke that particular action only.
- If you want to invoke several actions when the condition is met, you can map a trigger to those actions by rules (trigger --> rule A --> action A, trigger --> rule B --> action B). Then you only invoke the trigger once, and all the actions are activated.
Views
Replies
Total Likes
Rule and Trigger is the cleanest way but you can also do this if needed
const openwhisk = require('openwhisk')
const options = {
apihost: 'HOST:PORT',
api_key: 'API_KEY_HERE',
api: process.env['__OW_API_HOST'] + "/api/v1/"
}
let wsk = openwhisk(options)
let invokeParams = {"stuff":"my stuff","topass":"in","asparams":"more data"}
wsk.actions.invoke({
actionName:"/my/namespace/actionname",
blocking: false,
result: false,
params:invokeParams
});
Views
Likes
Replies
Views
Likes
Replies