I have one fixlet that may take various degress to resolve an issue. If the first action doesn’t work, I re-deploy it again using the next more agressive action.
I’m thinking I might combine all of the actions within 1 single action. However, the action needs to stop mid-stream once resolved or continue if it’s still relevant.
Aside from imbedding the same relevance used for the fixlet/task in the action using
confinue if {+fixlet’s relevence+}
, anyone know if there’s a simplier way to test if the PC is still relevant in the action?
Ideally I’d like to do something like this pseudocode…
Yeah, but that requires I create several fixlets for the same relevance. I don’t think I can create a multi-action group off of the same fixlet with different actions. Even so I don’t know how I could guarentee what order that would be applied.
Now if we had a way to define an action for a fixlet that could create a multi-action of itself, that would be easier.
Example:
A fixlet has 3 actions, each peforming a different way of resolving it.
Action 1 (simple) - runs a utility
Action 2 (more agressive) - deletes certain problematic files, then runs a utility
Action 3 (most agressive) - uninstalls and reinstalls an application, then runs a utility
Perhaps Action 4 could create a multi-action of actions 1, 2 and 3 in that order - from the simplest solution to the most agressive way of resolving it.
The fixlet I was working on is a cleanup for a few remaining PCs that were unable to migrate to our other print server when our printer migrator utility failed. The easiest fix is to copy down 2 missing DLLs and then run our printer migrator utility. If that doesn’t work, then we’re at the point where the printer should just be deleted.
It was easier to create a 3rd action to copy down the 2 DLLs if they’re missing, otherwise delete the printers. Then launch our utility at the end.
I set the action to reapply 1 time in 10min on failure. Thus if it failed the first time after copying down the missing DLLs, the second time should delete it.