Can't speak to the cause from afar. But to prevent reports from
running concurrently, maybe you can put a named CFLOCK around all of
the report generation events. If they all shared the same name, only
one would ever have the lock and, if a second started to run while the
first was running, it would simply time out and not do anything.
Something like this post:

http://www.bennadel.com/blog/1844-Making-Sure-Scheduled-Tasks-Don-t-Overlap-In-ColdFusion.htm

It's not a fix but it would mitigate multiple report events running
concurrently.

- Gabriel

On Tue, Mar 9, 2010 at 8:17 AM, Bryan S <[email protected]> wrote:
>
> I have a lot of new information now but I'd really appreciate some help on
> this because I still have the problem.
>
>
>
> I've never had much luck getting response to my questions on this forum. If
> I am doing something wrong please let me know.
>
>
>
> I'm going to *try* to keep this as simple as possible. I am able to simplify
> it because of all the testing I have done in the last few weeks.
>
>
>
> I have a Cold Fusion Scheduled Task the purpose of which is to start a
> report if no other report is running at that time.
>
>
>
> The scheduled task fires Event1 which checks if  a report is running and if
> there is no report running it fires Event2 which starts a report. I have
> separate logging in Event1 and Event2 so I can tell when each one fires.
>
>
>
> Event1 finds no report running and fires Event2 which starts ReportA. One
> minute later it checks and finds ReportA running so it does not fire Event2.
> This continues until five minutes after ReportA started.
>
>
>
> Five minutes after ReportA starts my logging confirms that Event1 fires and
> correctly determines that ReportA is not running and therefore does not call
> Event2. HOWEVER, my logging also indicates that Event2 does get fired and as
> a result ReportB is started. This results in an undesirable circumstance
> because these are very large reports and when run concurrently they use up
> all available memory on the server.
>
>
>
> To debug this problem I turned off all Scheduled Tasks except 1 and found
> that both calls to Event2 are coming from the original call to Event1.
>
>
>
> If I turn off all Scheduled Tasks no reports ever get fired so it can not be
> a Cold Fusion Scheduled Task call on another server somewhere.
>
>
>
> The really odd thing is that once two reports are running no other reports
> start until both reports finish. Once both reports finish the cycle repeats.
> A report starts, then five minutes later another one starts. Never four
> minutes or six minutes, always five.
>
>
>
> I assure you I did not code anything that does this. I am checking if a
> report is running but not when it started.
>
>
>
> To further add to the puzzle if I manually run the event called by the Cold
> Fusion Scheduled Task this problem does not occur. It then correctly waits
> until ReportA finishes before starting ReportB. Nothing happens at the five
> minute mark.
>
>
>
> Any thoughts on what could be happening would be greatly appreciated.
>
>
>
> Thanks.
>
>
>
> Bryan
>
>
>
> From: Bryan S [mailto:[email protected]]
> Sent: Monday, February 15, 2010 2:11 PM
> To: [email protected]
> Subject: Phantom Scheduled Tasks
>
>
>
> I have a scheduled task that starts a report every 12 minutes. Sometimes a
> report is started 5 minutes after the scheduled report starts. There is no
> evidence anywhere of the scheduled task being fired. There is no manual
> process starting the report.
>
> I have discovered long ago that modifying a scheduled task while it is
> running creates a phantom hidden task that can only be exorcised by
> rebooting the server.
>
> To allow reconfiguration of the task without worrying about this problem I
> wrote a process that can be configured. The scheduled task calls the process
> and acts according to its configuration.
>
> The scheduled task in question is set to fire a report process every twelve
> minutes. The process of the report can be followed in an application log.
> The desired report starts and is logged. At seemingly random times a report
> starts five minutes later. It is always five minutes never four or six etc.
>
> Again, there is no manual process starting this. There is no evidence of the
> scheduled task firing. There is no loop in the application that could start
> multiple reports with one url firing.
>
> What could be starting the report.
>
>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Want to reach the ColdFusion community with something they want? Let them know 
on the House of Fusion mailing lists
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:331462
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to