Hi Brett, The JobManager probably wasn't intended (or at least initially written) to handle that many pending jobs, as a work around you could just add a timeout value to the TransactionUtil.begin() call in poll() and see if that does the trick. We could always look at making this configurable if you wanted to provide a patch for such a thing.
Regards Scott HotWax Media http://www.hotwaxmedia.com On 29/06/2010, at 2:28 AM, Brett Palmer wrote: > Rishi, > > Thanks for the quick response. > > The transaction timeout is not with my defined service. The problem occurs > in the JobManager.poll() method of the service engine. The JobManager is > going through all the currently pending jobs and changing them to running > but it timesout before it can finish. > > I can't see a way without modifying the JobManager code to change this > transaction time in the "poll" method. I don't think my service definition > transaction time modifies the transaction time in the JobManager. > > Let me know if I am missing something here. > > > Brett > > On Mon, Jun 28, 2010 at 2:10 AM, Rishi Solanki <[email protected]>wrote: > >> To increase the transaction time out use transaction-timeout="{value}" >> where value is any valid number. >> Note that this needs to be done in your service definition. >> >> Rishi Solanki >> Manager, Enterprise Software Development >> HotWax Media Pvt. Ltd. >> Direct: +91-9893287847 >> http://www.hotwaxmedia.com >> >> >> On Sun, Jun 27, 2010 at 2:17 AM, Brett Palmer <[email protected] >>> wrote: >> >>> We are running into a problem with the service engine when trying to run >> an >>> archiving batch service. Here is how the service runs. >>> >>> 1. We run a service that collects a bunch of records for data >> warehousing. >>> >>> 2. The data warehouse service calls an async service call to process each >>> individual record. >>> >>> 3. The service engine them starts working on each individual record. >>> >>> We like the above process because it allows us to multi-process the large >>> batch job. >>> >>> Here is the problem: >>> >>> There are over 10K records that are submitted as async service calls in >>> step >>> 2 above. I'm seeing a transaction time out when the service engine tries >>> to >>> process all of these records as it calls an "UPDATE JOB_SANDBOX for >>> job_id=XXX". I believe it is trying to update all 10k of these jobs >>> individually in a single transaction and times out. The jobs are then >> left >>> in a pending status and never changed but the service engine keeps timing >>> out. >>> >>> Here are my questions: >>> >>> 1. Is there a way to increase the transaction time out for the service >>> engine to update these jobs in the JobSandbox so the service engine >> threads >>> can then process them? >>> >>> or >>> >>> 2. Is there another way to break these jobs up so the service engine >>> doesn't have to process 10k jobs in a single transaction. >>> >>> >>> Note: the above process works very well when the number of records to >>> process are around 1K. >>> >>> >>> >>> Brett >>> >>
smime.p7s
Description: S/MIME cryptographic signature
