Action that performs additional actions if still relevant

(imported topic written by SystemAdmin)

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…

continue if action state not fixed

or

continue if action relevant=True

-Paul

(imported comment written by NoahSalzman)

Multi-action group? Each action in the group just has the same entry (relevance) criteria.

(imported comment written by SystemAdmin)

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.

(imported comment written by NoahSalzman)

Write a semaphore out to disk or registry letting you know how many times you have tried?

(imported comment written by SystemAdmin)

Haha… I started picturing strange visions of flag waving

http://www.anbg.gov.au/flags/semaphore.html

That seems a tad overkill. Maybe I’ll just add the same relevance code on a

continue if {}

for now, and submit a suggestion on ways to have the action evaluate the relevance immediately to see if it’s still true.

Paul

(imported comment written by SystemAdmin)

Hmm… Thought of another way to do 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.

Paul