Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 1.4, 1.5
-
Fix Version/s: 1.5
-
Component/s: Taverna Core
-
Labels:None
Description
A ScuflModel.NotifyThread is created when a ScuflModel is made. There is no way to "destroy" a ScuflModel, and since the notifythread keeps a reference to the ScuflModel, it means it is virtually impossible as it is now to get rid of a ScuflModel.
This will waste some resources, depending on the size of the ScuflModel (ie. the workflow specification and metadata). However, as most people probably don't make 100 workflows on a day, this is not a big issue.
What is needed is some kind of destroy/close/detachFromModel so that when the user of ScuflModel instances are done, they can call this method, which could set a state variable to make the thread finish.
Seems to be "fixed", but not quite sure yet.. need to run some complex workflows. We depend on garbage collection to be run to free threads.. but if resources are running low, that should happen. Also, the latest run ScuflModel (ie. the clone created when selecting "Run") is kept alive by Freefluo and thereby also the NotifyThread. However, this should just be one at a time.