Vacuum has been run, (took quite a while). Yeah, I see now that the
JobManager actually tries to update all the JobSandbox rows in the
transaction, so 60 seconds was pretty low.

I am trying 10 minutes now and see how that goes.

I am using postgress by the way.

Thanks for the help, I really appreciate it.

--
Josh.

On Wed, Jul 13, 2011 at 8:29 PM, Scott Gray <scott.g...@hotwaxmedia.com> wrote:
> Not sure what db you're using but it probably wouldn't hurt to run a vacuum 
> on the table to speed up processing.
>
> By the way, I'm pretty sure the default timeout is 60 seconds so you might 
> want to try something a little larger :-)
>
> Regards
> Scott
>
> On 14/07/2011, at 2:58 PM, Josh Jacobson wrote:
>
>> I tried 60 seconds for timeout but that didn't work. I guess Ill
>> double it now and keep trying.
>>
>> I have about 260,000 pending jobs, and nothing is getting done.
>>
>> I know what you mean about purgeOldjobs. That service is crashed now
>> and I deleted old jobs from the database by hand. I was up to 2.6
>> million rows. Ofbiz was pretty much unusable.
>>
>> If you have any other suggestions I'd love Yo hear them.
>>
>> On Wednesday, July 13, 2011, Scott Gray <scott.g...@hotwaxmedia.com> wrote:
>>> Ah okay, that is entirely dependent on the number of jobs and the speed the 
>>> server can process them.  As a side note I would keep a close eye on the 
>>> purgeOldJobs service, when it starts falling over (transaction timeout 
>>> again) then the number of rows in the table will increase quickly which in 
>>> turn will slow down polling.
>>>
>>> In general the whole persisted jobs implementation is a bit fragile, 
>>> especially when dealing with a large number of jobs.  I've wanted to 
>>> replace it with something like quartz for a while but haven't had the time.
>>>
>>> Regards
>>> Scott
>>>
>>> On 14/07/2011, at 2:10 PM, Josh Jacobson wrote:
>>>
>>>> Thanks again. I actually meant a suggestion for the transaction
>>>> timeout. In any case I am grateful for your explanation.
>>>>
>>>>
>>>> On Wednesday, July 13, 2011, Scott Gray <scott.g...@hotwaxmedia.com> wrote:
>>>>> As best I can tell there shouldn't be any need to increase the interval 
>>>>> between polls since the interval timer doesn't actually start until the 
>>>>> previous poll has completed (see JobPoller.run()) so I can't see how a 
>>>>> small interval would cause any backlog problems.
>>>>>
>>>>> I'm guessing if there is any lock contention then it's probably caused by 
>>>>> the executing jobs trying to update their respective rows while the 
>>>>> poller is holding a table lock.  So from that point of view I guess 
>>>>> increasing the interval could reduce the amount of contention between the 
>>>>> executing jobs and the next poll.
>>>>>
>>>>> Regards
>>>>> Scott
>>>>>
>>>>> On 14/07/2011, at 1:02 PM, Josh Jacobson wrote:
>>>>>
>>>>>> Scott,
>>>>>>
>>>>>> Thanks! That is very precise advise. Do you have a suggestion on
>>>>>> interval time? 60 seconds? 120?
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> On Wed, Jul 13, 2011 at 5:34 PM, Scott Gray <scott.g...@hotwaxmedia.com> 
>>>>>> wrote:
>>>>>>> That configuration is for the frequency of job polls.  There isn't any 
>>>>>>> ability to specify the transaction timeout via configuration so you'll 
>>>>>>> need to modify the code directly:
>>>>>>> JobManager.java (line 148):
>>>>>>> beganTransaction = TransactionUtil.begin();
>>>>>>> needs to be changed to use TransactionUtil.begin(int)
>>>>>>>
>>>>>>> Regards
>>>>>>> Scott
>>>>>>>
>>>>>>> HotWax Media
>>>>>>> http://www.hotwaxmedia.com
>>>>>>>
>>>>>>> On 14/07/2011, at 12:23 PM, Josh Jacobson wrote:
>>>>>>>
>>>>>>>> Brett,
>>>>>>>>
>>>>>>>> Before I start trying to run the jobs manually, I want to give your
>>>>>>>> suggestion a try. I think I know where to configure the job polling
>>>>>>>> transaction time (I believe it's the poll-db-millis="20000" value on
>>>>>>>> the framework/service/config/serviceengine.xml.
>>>>>>>>
>>>>>>>> However, I still don't know what to increase it to. I understand that
>>>>>>>> we wouldn't want to make it bigger than the default polling interval.
>>>>>>>> Do you know what the default interval between polling is?
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> On Wed, Jul 13, 2011 at 12:31 PM, Brett Palmer 
>>>>>>>> <brettgpal...@gmail.com> wrote:
>>>>>>>>> I meant removing finished jobs.  If you have thousands of pending 
>>>>>>>>> jobs then
>>>>>>>>> you will have the same problem I mentioned in my first email.  One
>>>>>>>>> resolution will be to increase the job poller transaction time.  In 
>>>>>>>>> the
>>>>>>>>> ofbiz version I was using there was not a way to configure the poller
>>>>>>>>> transaction time.  It just used the default time.  I had to create a 
>>>>>>>>> patch
>>>>>>>>> to allow this to happen.
>>>>>>>>>
>>>>>>>>> In the patch you had to be careful to not increase the transaction 
>>>>>>>>> time
>>>>>>>>> greater than the frequency of the job poller.  Otherwise you get into 
>>>>>>>>> a lock
>>>>>>>>> situation where one job poller is still running within a transaction 
>>>>>>>>> and
>>>>>>>>> another poller starts.  This didn't create a huge problem but the 
>>>>>>>>> second job
>>>>>>>>> poller would usually lock and then time out.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Brett
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Jul 13, 2011 at 1:15 PM, Josh Jacobson 
>>>>>>>>> <josh.s.jacob...@gmail.com>wrote:
>>>>>>>>>
>>>>>>>>>> Brett,
>>>>>>>>>>
>>>>>>>>>>
>
>

Reply via email to