When doing big batch processing, I will often cfthread and then join the
thread back at the end of the loop. This means that everything tied to the
thread is now able to garbage collected, as the thread has been marked as
expired.

Mark

On Sat, Dec 17, 2011 at 7:40 AM, Ryan Duckworth
<[email protected]>wrote:

>
> We used a trick in *ColdFusion 8* that does not seem to work in *ColdFusion
> 9*.
>
> Inside of loops in heavy lifting / long running processes ( scheduled pages
> ), we would use:
>
> structDelete( variables, "foo" );
> This would, in theory, remove the pointer to the location in memory and
> allow for garbage collection.
>
> I have tried moving the processing inside of a cffunction and using a
> similar trick on the local scope.
> var objOrder = ....
> ....
> structDelete( local, "foo" );
>
> structDelete on variables and local do *not work* in *ColdFusion 9*.
>
> Another trick, that is less than ideal, and would require re-writing a
> significant amount of code is to have 2 pages:
> The 1st page would contain the loop and use cfhttp to call the 2nd page
> that actually does the processing.
>
> This, in theory, would be a solution if ColdFusion 9 only allows Garbage
> Collection at the *end of each request*. ( I sure hope this isn't true )
>
> Any Ideas?
> Maybe cfthread?
>
> I know that others out there must have encountered this same problem and
> come up with a solid solution.
> Please share your tricks.
>
> Best,
> Ryan
>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:349209
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to