Re: Slow

2022-05-11 Thread Kubber
Perfect! I see jobs running way quicker now. Thanks Matt. 

On Wednesday, May 11, 2022 at 7:15:26 PM UTC+1 adsapi wrote:

> Hi All,
>
> Thanks for your patience on this. This issue should be resolved now. Can 
> you please retry your batch job requests and let us know if you run into 
> the same issue?
>
> Thanks,
> Matt
> Google Ads API Team
>
> [image: Google Logo] 
> Matt 
> Google Ads API Team 
>   
>
> ref:_00D1U1174p._5004Q2armQq:ref
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/05aa201f-5436-4751-9ed5-c257ac1fa3d7n%40googlegroups.com.


Re: Slow

2022-05-11 Thread Skander Mansouri
Everyone is experiecing an issue with this batch job service. and we are 
waiting for Google to confirm this!

Le mercredi 11 mai 2022 à 12:06:23 UTC+2, Kubber a écrit :

> I'm trying to remove CampaignCriterionOperation using BatchJobService.
>
> It used to work quite quick until last Thursday, but now it's very slow it 
> can take 30 minutes before it's done, and the amount of data is the very 
> same. 
> I see the same issue on uploading CampaignCriteria. 
>
> How long should it take to delete let's say 2 criteria?
>  
> I'm using code more less like this: 
>
>
> batch_job_service = client.get_service("BatchJobService")
> batch_job_operation = client.get_type("BatchJobOperation")
>
> batch_job = client.get_type("BatchJob")
> client.copy_from(batch_job_operation.create, batch_job)
> response = batch_job_service.mutate_batch_job(
> customer_id=customer_id, operation=batch_job_operation
> )
> resource_name = response.result.resource_name
>
> operations = []
> for cbm in chunk:
> campaign_criterion_operation = 
> client.get_type("CampaignCriterionOperation")
> campaign_id = cbm.split(',')[0]
> criterion_id = cbm.split(',')[1]
> campaign_criterion_operation.remove = 
> f"customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}"
> mutate_operation = client.get_type("MutateOperation")
> client.copy_from(getattr(mutate_operation, 
> "campaign_criterion_operation"), campaign_criterion_operation)
> operations.append(mutate_operation)
>
> batch_job_service.add_batch_job_operations(
> resource_name=resource_name,
> mutate_operations=operations,
> )
> response = batch_job_service.run_batch_job(resource_name=resource_name)
> 
>
> for i in range(1, 20):
> time.sleep(10*i)
> if response.done():
>...
>
> Cheers,
> Jakub
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/572e493b-66e1-4b96-9169-cc4c3e5eb81en%40googlegroups.com.


Re: Slow Product Group Creation

2020-03-05 Thread Google Ads API Forum Advisor Prod
Hi,

Please also make sure that you order uploaded operations by operation type and 
do not poll the job status too frequently. Also note it is recommended to add 
no more than 1,000 operations per AddMutateJobOperationsRequest and use the 
sequence_token to upload the rest of the operations to the same job. As the 
Google Ads API is still in beta version, if the issue persists please consider 
using the BatchJobService in the Adwords API.

Thanks and regards,
Xiaoming, Google Ads API Team
ref:_00D1U1174p._5001UXU6Bm:ref

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/FRkgG0Q6QNI400UhpnCV6mT_K8kJ3OOuY5cw%40sfdc.net.


Re: Slow Product Group Creation

2020-03-04 Thread Big Apple Buddy
Hi Xiaoming

Many thanks for getting back to me. I'm uploading the operations via batch 
processing and have followed the best practices there - I'm ensuring that 
only one operation per object (ad group in this case) is being uploaded and 
only uploading one single batch of 50k operations (not multiple smaller 
batches). The current 50k operation batch has been running for ~20 hours 
and is only 30% complete.

Is some other issue the possible cause?

Many thanks

G

On Wednesday, March 4, 2020 at 5:32:37 PM UTC-5, adsapiforumadvisor wrote:
>
> Hi,
>
> Thanks for reaching out. Please refer to this guide 
> 
>  
> on the best practice guidelines when you use the MutateJobService 
> .
>  
> You could try to have fewer larger jobs over many smaller jobs and try to 
> avoid operating on the same objects at the same time. Please also refer to 
> this guide 
> 
>  
> on the general rate limit concerns. 
>
> Thanks and regards,
> Xiaoming, Google Ads API Team
>
>
>  
>
> ref:_00D1U1174p._5001UXU6Bm:ref
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/05e15e58-cdf4-449e-b2b8-a93cf97f7090%40googlegroups.com.


RE: Slow Product Group Creation

2020-03-04 Thread Google Ads API Forum Advisor Prod
Hi,

Thanks for reaching out. Please refer to this guide on the best practice 
guidelines when you use the MutateJobService. You could try to have fewer 
larger jobs over many smaller jobs and try to avoid operating on the same 
objects at the same time. Please also refer to this guide on the general rate 
limit concerns.

Thanks and regards,
Xiaoming, Google Ads API Team
ref:_00D1U1174p._5001UXU6Bm:ref

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/E8Z3_0Q6OX9R00Jrc508MBRsWh0HD-mEpfxg%40sfdc.net.


Re: Slow performance adding 25M+ users to adwords list

2019-02-26 Thread mitesh
Hi Milind,

Yes I absolutely am using multiple processes. Each one calls 
AdwordsServices.getUserList, then calls MutateMembers with about 5 user 
email hashes. They all run at the same time, because I have noticed that 
running one at a time is too slow (takes 1 hour). Running them all 
concurrently, it reduces the time to 40 mins, but its still very slow.

My real question is when will Adwords API allow concurrent adding of users 
to a single UserList? This seems like a very critical feature, otherwise 
how do other people use the API to create UserLists with 20M+ users?


On Monday, February 25, 2019 at 10:28:40 AM UTC-6, mit...@actioniq.com 
wrote:
>
> I'm trying to add many users (25 million email hashes) to a newly created 
> adwords list. I'm doing this via many (around 30+) threads each doing a 
> single big MutateMembersOperand with many users. I get 
> CONCURRENT_MODIFICATION a lot, and just retry after a random wait time, but 
> this still causes the performance to be very bad.
>
> I read here that some aspects of the API now allow concurrent changes. Is 
> it true that adding users to an ad list is still something that cannot be 
> done concurrently? Is there a plan to improve this?
>
> Thanks!
> --
> Mitesh
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/aecbde29-fc36-4eb5-94b2-c3f0749532bf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


RE: Slow performance adding 25M+ users to adwords list

2019-02-25 Thread googleadsapi-forumadvisor via AdWords API and Google Ads API Forum


Hello Mitesh,

The CONCURRENT_MODIFICATION
  
error

that you encountered could occur due to multiple processes that are trying
to update the same entity at the same time. To be able to troubleshoot on
our end, could you please share the SOAP logs along with your CID from one
of the requests that failed with this error. You can use 'Reply Privately
to author' option while responding.

Thanks,
Milind, AdWords API Team
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com/search/label/adwords_api
https://developers.google.com/adwords/api/community/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads API Forum" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/00d12jefd8000ot7t8001d7dbmx64mj2c1i6oo30c1g68qj8d1h%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


RE: Slow audience list data populating

2019-01-22 Thread googleadsapi-forumadvisor via AdWords API and Google Ads API Forum


Hello Ivan,

If you uploaded the user list a couple of hours ago and seeing the
Populating status via UI then it is expected. It takes 6 to 12 hours for a
list to be populated with members, so you'll most likely see an "In
Progress" status (on the Google Ads UI) if you upload to an audience list
more frequently than once every 12 hours. To know more about customer match
considerations please refer this guide

.

If the problem persists please share the SOAP logs(request and response
)
of the upload operation performed without redacting any data. You could
refer this guide

to enable logging for Java client library, for other client libraries
please refer here
. You could
use reply privately to the author option while sharign the information
requested.

Regards,
Sai Teja, AdWords API Team


=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com/search/label/adwords_api
https://developers.google.com/adwords/api/community/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads API Forum" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/1a0gnlo0go9js8004oksj8z70mj8c1k64o30c1g68q3icpo%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: Slow aw-reporting performance after update

2018-03-06 Thread 'Vincent Racaza (AdWords API Team)' via AdWords API Forum
Hi Filip,

Your concern is more on the performance of the aw-reporting 
 tool, and not AdWords API 
specific (e.g. RateExceeded error in your aw-reporting tool). This said, I 
suggest that you wait for the answer of the library owners in this link 
 as they are more 
equipped to answer issues/concerns related to this tool.

Thanks,
Vincent
AdWords API Team

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/92fc2077-1773-4223-9cb7-94264379cb3b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Slow AWQL Responses

2017-06-20 Thread 'Anash P. Oommen (AdWords API Team)' via AdWords API Forum
Hi Manas,

I'm locking this thread to prevent more users from adding onto this thread 
instead of the main thread, where I'll add updates. Please continue 
following that thread for future updates.

Thanks Tomas for posting the main thread link.

Cheers
Anash P. Oommen,
AdWords API Advisor.

On Tuesday, June 20, 2017 at 9:28:20 AM UTC-4, Tomas R wrote:
>
> Have you tried searching before creating new topic: 
> https://groups.google.com/forum/#!searchin/adwords-api/reporting|sort:date/adwords-api/MfX0XL7G4o4/FxioZYy_AgAJ
>
> On Monday, June 19, 2017 at 7:08:25 AM UTC+2, AdWordsApiUser wrote:
>>
>> Hello team,
>>
>> AWQL response times have increased significantly in the last couple of 
>> weeks, and it making a lot of our processes slow or backed up. Our estimate 
>> is that response time to queries has increased 3x to 4x overnight (starting 
>> around 6th of June). I followed the other thread where it was mentioned 
>> that a fix had been deployed, but over the weekend, the system seems to 
>> have become slower and we haven't noticed any significant improvements. I 
>> understand that the team is working on a fix to help all everyone that is 
>> dependent on the API, and I appreciate that :) 
>>
>> My question is this: Should we increase parallelism in our calls to get 
>> around this issue? When should we expect a resolution?
>>
>> Thanks,
>> MG
>>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/dcbd0435-327e-4f4e-95a6-1b8b8eeb23b0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Slow AWQL Responses

2017-06-20 Thread Tomas R
Have you tried searching before creating new 
topic: 
https://groups.google.com/forum/#!searchin/adwords-api/reporting|sort:date/adwords-api/MfX0XL7G4o4/FxioZYy_AgAJ

On Monday, June 19, 2017 at 7:08:25 AM UTC+2, AdWordsApiUser wrote:
>
> Hello team,
>
> AWQL response times have increased significantly in the last couple of 
> weeks, and it making a lot of our processes slow or backed up. Our estimate 
> is that response time to queries has increased 3x to 4x overnight (starting 
> around 6th of June). I followed the other thread where it was mentioned 
> that a fix had been deployed, but over the weekend, the system seems to 
> have become slower and we haven't noticed any significant improvements. I 
> understand that the team is working on a fix to help all everyone that is 
> dependent on the API, and I appreciate that :) 
>
> My question is this: Should we increase parallelism in our calls to get 
> around this issue? When should we expect a resolution?
>
> Thanks,
> MG
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/68a5eb2c-e45f-4e37-a8b0-efa8f5acd9ff%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Slow Performance of BulkMutateJob in uploading keywords

2010-09-02 Thread AdWords API Advisor
Hi,

Unfortunately we don't provide a public roadmap, but news about
features is posted to the AdWords API Blog:

  http://adwordsapi.blogspot.com/

Best,
- Eric

On Aug 31, 6:15 am, bhealy  wrote:
> Thanks for the reply Eric - really appreciate your help.
>
> Last question on this-: Do you guys publish a roadmap for the API that
> I could get visibility of ?
> Something that contains your plans for new functionality, along with
> go live dates ?
>
> On Aug 9, 3:05 pm, AdWords API Advisor 
> wrote:
>
>
>
> > Hi Bobby,
>
> > The AdWords API is the only API available, so there is nothing else to
> > compare it with in regards to speed.  You can try using the
> > AdGroupCriterionService instead of the BulkMutateJobService, but I
> > don't know if you'll see a dramatic speed difference.
>
> > Best,
> > - Eric
>
> > On Aug 9, 6:21 am, bobby  wrote:
>
> > > Thanks Eric, yes I understand that - but what I was really asking was
> > > "what is the fastest
> > > way to upload 300,000 keywords?".
>
> > > In other words - is the ADWORDS API the fastest way to do it, or is
> > > there some other form
> > > of transfer that I can use?
>
> > > Currently 300,000 keywords is taking me nearly 12 hours to upload -
> > > which is not an acceptable
> > > performance level for my customer.
>
> > > Our business want to operate in a much more dynamic way with ADWORDS,
> > > and we were hoping the API
> > > would be a way to accomplish that, but so far it's looking like -
> > > while the flexibility and
> > > the potential to automate is there - that we are prevented from
> > > scaling up due to the performance.
>
> > > Any pointers you can provide would be like water to a dry duck at this
> > > stage.
>
> > > Thanks,
> > > Bobby
>
> > > On Aug 6, 10:12 pm, AdWords API Advisor 
> > > wrote:
>
> > > > Hi Bobby,
>
> > > > The BulkMutateJobService does not offer any speed benefits over the
> > > > regular synchronous services.  There is the possibility of concurrent
> > > > processing of operations, but in general you shouldn't assume that
> > > > operations will process any faster using the BMJS.  The BMJS is
> > > > designed for uploading large numbers of entities, such as keywords and
> > > > ads, but it should not be used for time-sensitive changes.
>
> > > > Best,
> > > > - Eric Koleda, AdWords API Team
>
> > > > On Aug 5, 8:43 am, bobby healy 
> > > > wrote:
>
> > > > > OK, I've searched everywhere and there doesn't seem to be a single,
> > > > > definitive answer to this question-:
>
> > > > > "How do I bulk upload about 300,000 keywords as quickly as possible ?"
>
> > > > > Currently this takes me about 24 hours using the following code. Is
> > > > > there any faster way to do this ?
>
> > > > >                 AdGroupAd textAdGroupAd = new AdGroupAd();
>
> > > > > textAdGroupAd.setAdGroupId(g.getAdGroupID());
> > > > > textAdGroupAd.setAd(textAd);
> > > > >                     AdGroupAdOperation textAdGroupAdOperation = new
> > > > > AdGroupAdOperation();
> > > > >                     textAdGroupAdOperation.setOperand(textAdGroupAd);
> > > > >                     textAdGroupAdOperation.setOperator(Operator.ADD);
> > > > >                    ... add some exemptions
> > > > >                     l.adGroupAdOperations.add(textAdGroupAdOperation);
> > > > >                 BulkMutateJobServiceInterface bulkMutateJobService =
> > > > > user.getService(
>
> > > > > AdWordsService.V201003.BULK_MUTATE_JOB_SERVICE);
> > > > >                 // Set scope of jobs.
> > > > >                 EntityId scopingEntityId = new
> > > > > EntityId(EntityIdType.CAMPAIGN_ID, c.getCampaignID());
> > > > >                 long jobId = createAndBeginJob(bulkMutateJobService,
> > > > > scopingEntityId, e.getValue().adGroupAdOperations.toArray(new
> > > > > AdGroupAdOperation[0]));
> > > > >                 OperationResult[] operationResults =
> > > > > retrieveResultsFromJob(bulkMutateJobService, jobId, null);
>
> > > > >     private static OperationResult[] retrieveResultsFromJob(
> > > > >             BulkMutateJobServiceInterface bulkMutateJobService, long
> > > > > jobId, ProgressDialog p)
> > > > >             throws InterruptedException, IOException {
> > > > >         List operationResultsByPart = new
> > > > > ArrayList();
> > > > >         BulkMutateJob job = null;
>
> > > > >         // Create selector.
> > > > >         BulkMutateJobSelector selector = new BulkMutateJobSelector();
> > > > >         selector.setJobIds(new long[]{jobId});
>
> > > > >         // Loop while waiting for the job to complete.
> > > > >         int percent = 1;
> > > > >         do {
> > > > >             BulkMutateJob[] jobs = bulkMutateJobService.get(selector);
> > > > >             job = jobs[0];
>
> > > > >             System.out.println("Bulk mutate job with id \"" +
> > > > > job.getId() + "\" has status \"" + job.getStatus() + "\".");
>
> > > > >             if (job.getStatus().equals(BasicJobStatus.PENDING) ||
> > > > > job.getStatus().equals(BasicJob

Re: Slow Performance of BulkMutateJob in uploading keywords

2010-08-31 Thread bhealy
Thanks for the reply Eric - really appreciate your help.

Last question on this-: Do you guys publish a roadmap for the API that
I could get visibility of ?
Something that contains your plans for new functionality, along with
go live dates ?

On Aug 9, 3:05 pm, AdWords API Advisor 
wrote:
> Hi Bobby,
>
> The AdWords API is the only API available, so there is nothing else to
> compare it with in regards to speed.  You can try using the
> AdGroupCriterionService instead of the BulkMutateJobService, but I
> don't know if you'll see a dramatic speed difference.
>
> Best,
> - Eric
>
> On Aug 9, 6:21 am, bobby  wrote:
>
>
>
> > Thanks Eric, yes I understand that - but what I was really asking was
> > "what is the fastest
> > way to upload 300,000 keywords?".
>
> > In other words - is the ADWORDS API the fastest way to do it, or is
> > there some other form
> > of transfer that I can use?
>
> > Currently 300,000 keywords is taking me nearly 12 hours to upload -
> > which is not an acceptable
> > performance level for my customer.
>
> > Our business want to operate in a much more dynamic way with ADWORDS,
> > and we were hoping the API
> > would be a way to accomplish that, but so far it's looking like -
> > while the flexibility and
> > the potential to automate is there - that we are prevented from
> > scaling up due to the performance.
>
> > Any pointers you can provide would be like water to a dry duck at this
> > stage.
>
> > Thanks,
> > Bobby
>
> > On Aug 6, 10:12 pm, AdWords API Advisor 
> > wrote:
>
> > > Hi Bobby,
>
> > > The BulkMutateJobService does not offer any speed benefits over the
> > > regular synchronous services.  There is the possibility of concurrent
> > > processing of operations, but in general you shouldn't assume that
> > > operations will process any faster using the BMJS.  The BMJS is
> > > designed for uploading large numbers of entities, such as keywords and
> > > ads, but it should not be used for time-sensitive changes.
>
> > > Best,
> > > - Eric Koleda, AdWords API Team
>
> > > On Aug 5, 8:43 am, bobby healy 
> > > wrote:
>
> > > > OK, I've searched everywhere and there doesn't seem to be a single,
> > > > definitive answer to this question-:
>
> > > > "How do I bulk upload about 300,000 keywords as quickly as possible ?"
>
> > > > Currently this takes me about 24 hours using the following code. Is
> > > > there any faster way to do this ?
>
> > > >                 AdGroupAd textAdGroupAd = new AdGroupAd();
>
> > > > textAdGroupAd.setAdGroupId(g.getAdGroupID());
> > > > textAdGroupAd.setAd(textAd);
> > > >                     AdGroupAdOperation textAdGroupAdOperation = new
> > > > AdGroupAdOperation();
> > > >                     textAdGroupAdOperation.setOperand(textAdGroupAd);
> > > >                     textAdGroupAdOperation.setOperator(Operator.ADD);
> > > >                    ... add some exemptions
> > > >                     l.adGroupAdOperations.add(textAdGroupAdOperation);
> > > >                 BulkMutateJobServiceInterface bulkMutateJobService =
> > > > user.getService(
>
> > > > AdWordsService.V201003.BULK_MUTATE_JOB_SERVICE);
> > > >                 // Set scope of jobs.
> > > >                 EntityId scopingEntityId = new
> > > > EntityId(EntityIdType.CAMPAIGN_ID, c.getCampaignID());
> > > >                 long jobId = createAndBeginJob(bulkMutateJobService,
> > > > scopingEntityId, e.getValue().adGroupAdOperations.toArray(new
> > > > AdGroupAdOperation[0]));
> > > >                 OperationResult[] operationResults =
> > > > retrieveResultsFromJob(bulkMutateJobService, jobId, null);
>
> > > >     private static OperationResult[] retrieveResultsFromJob(
> > > >             BulkMutateJobServiceInterface bulkMutateJobService, long
> > > > jobId, ProgressDialog p)
> > > >             throws InterruptedException, IOException {
> > > >         List operationResultsByPart = new
> > > > ArrayList();
> > > >         BulkMutateJob job = null;
>
> > > >         // Create selector.
> > > >         BulkMutateJobSelector selector = new BulkMutateJobSelector();
> > > >         selector.setJobIds(new long[]{jobId});
>
> > > >         // Loop while waiting for the job to complete.
> > > >         int percent = 1;
> > > >         do {
> > > >             BulkMutateJob[] jobs = bulkMutateJobService.get(selector);
> > > >             job = jobs[0];
>
> > > >             System.out.println("Bulk mutate job with id \"" +
> > > > job.getId() + "\" has status \"" + job.getStatus() + "\".");
>
> > > >             if (job.getStatus().equals(BasicJobStatus.PENDING) ||
> > > > job.getStatus().equals(BasicJobStatus.PROCESSING)) {
> > > >                 if (p != null)
> > > >                     p.setProgress(percent++);
> > > >                 Thread.sleep(1);
> > > >             }
> > > >         } while (job.getStatus().equals(BasicJobStatus.PENDING) ||
> > > > job.getStatus().equals(BasicJobStatus.PROCESSING));
>
> > > > * the above WHILE loop is where it spends all

Re: Slow Performance of BulkMutateJob in uploading keywords

2010-08-09 Thread AdWords API Advisor
Hi Bobby,

The AdWords API is the only API available, so there is nothing else to
compare it with in regards to speed.  You can try using the
AdGroupCriterionService instead of the BulkMutateJobService, but I
don't know if you'll see a dramatic speed difference.

Best,
- Eric

On Aug 9, 6:21 am, bobby  wrote:
> Thanks Eric, yes I understand that - but what I was really asking was
> "what is the fastest
> way to upload 300,000 keywords?".
>
> In other words - is the ADWORDS API the fastest way to do it, or is
> there some other form
> of transfer that I can use?
>
> Currently 300,000 keywords is taking me nearly 12 hours to upload -
> which is not an acceptable
> performance level for my customer.
>
> Our business want to operate in a much more dynamic way with ADWORDS,
> and we were hoping the API
> would be a way to accomplish that, but so far it's looking like -
> while the flexibility and
> the potential to automate is there - that we are prevented from
> scaling up due to the performance.
>
> Any pointers you can provide would be like water to a dry duck at this
> stage.
>
> Thanks,
> Bobby
>
> On Aug 6, 10:12 pm, AdWords API Advisor 
> wrote:
>
>
>
> > Hi Bobby,
>
> > The BulkMutateJobService does not offer any speed benefits over the
> > regular synchronous services.  There is the possibility of concurrent
> > processing of operations, but in general you shouldn't assume that
> > operations will process any faster using the BMJS.  The BMJS is
> > designed for uploading large numbers of entities, such as keywords and
> > ads, but it should not be used for time-sensitive changes.
>
> > Best,
> > - Eric Koleda, AdWords API Team
>
> > On Aug 5, 8:43 am, bobby healy 
> > wrote:
>
> > > OK, I've searched everywhere and there doesn't seem to be a single,
> > > definitive answer to this question-:
>
> > > "How do I bulk upload about 300,000 keywords as quickly as possible ?"
>
> > > Currently this takes me about 24 hours using the following code. Is
> > > there any faster way to do this ?
>
> > >                 AdGroupAd textAdGroupAd = new AdGroupAd();
>
> > > textAdGroupAd.setAdGroupId(g.getAdGroupID());
> > > textAdGroupAd.setAd(textAd);
> > >                     AdGroupAdOperation textAdGroupAdOperation = new
> > > AdGroupAdOperation();
> > >                     textAdGroupAdOperation.setOperand(textAdGroupAd);
> > >                     textAdGroupAdOperation.setOperator(Operator.ADD);
> > >                    ... add some exemptions
> > >                     l.adGroupAdOperations.add(textAdGroupAdOperation);
> > >                 BulkMutateJobServiceInterface bulkMutateJobService =
> > > user.getService(
>
> > > AdWordsService.V201003.BULK_MUTATE_JOB_SERVICE);
> > >                 // Set scope of jobs.
> > >                 EntityId scopingEntityId = new
> > > EntityId(EntityIdType.CAMPAIGN_ID, c.getCampaignID());
> > >                 long jobId = createAndBeginJob(bulkMutateJobService,
> > > scopingEntityId, e.getValue().adGroupAdOperations.toArray(new
> > > AdGroupAdOperation[0]));
> > >                 OperationResult[] operationResults =
> > > retrieveResultsFromJob(bulkMutateJobService, jobId, null);
>
> > >     private static OperationResult[] retrieveResultsFromJob(
> > >             BulkMutateJobServiceInterface bulkMutateJobService, long
> > > jobId, ProgressDialog p)
> > >             throws InterruptedException, IOException {
> > >         List operationResultsByPart = new
> > > ArrayList();
> > >         BulkMutateJob job = null;
>
> > >         // Create selector.
> > >         BulkMutateJobSelector selector = new BulkMutateJobSelector();
> > >         selector.setJobIds(new long[]{jobId});
>
> > >         // Loop while waiting for the job to complete.
> > >         int percent = 1;
> > >         do {
> > >             BulkMutateJob[] jobs = bulkMutateJobService.get(selector);
> > >             job = jobs[0];
>
> > >             System.out.println("Bulk mutate job with id \"" +
> > > job.getId() + "\" has status \"" + job.getStatus() + "\".");
>
> > >             if (job.getStatus().equals(BasicJobStatus.PENDING) ||
> > > job.getStatus().equals(BasicJobStatus.PROCESSING)) {
> > >                 if (p != null)
> > >                     p.setProgress(percent++);
> > >                 Thread.sleep(1);
> > >             }
> > >         } while (job.getStatus().equals(BasicJobStatus.PENDING) ||
> > > job.getStatus().equals(BasicJobStatus.PROCESSING));
>
> > > * the above WHILE loop is where it spends all it's time -
> > > PROCESSING for hours...
>
> > >         if (job.getStatus() == BasicJobStatus.FAILED) {
> > >             throw new ApiException("Job failed.", null, null);
> > >         }
>
> > >         for (int i = 0; i < job.getNumRequestParts(); i++) {
> > >             // Set selector to retrieve results for part.
> > >             selector.setResultPartIndex(i);
> > >             BulkMutateJob jobWithResult =
> > > bulkMutateJobService.get(selecto

Re: Slow Performance of BulkMutateJob in uploading keywords

2010-08-09 Thread bobby
Thanks Eric, yes I understand that - but what I was really asking was
"what is the fastest
way to upload 300,000 keywords?".

In other words - is the ADWORDS API the fastest way to do it, or is
there some other form
of transfer that I can use?

Currently 300,000 keywords is taking me nearly 12 hours to upload -
which is not an acceptable
performance level for my customer.

Our business want to operate in a much more dynamic way with ADWORDS,
and we were hoping the API
would be a way to accomplish that, but so far it's looking like -
while the flexibility and
the potential to automate is there - that we are prevented from
scaling up due to the performance.

Any pointers you can provide would be like water to a dry duck at this
stage.

Thanks,
Bobby


On Aug 6, 10:12 pm, AdWords API Advisor 
wrote:
> Hi Bobby,
>
> The BulkMutateJobService does not offer any speed benefits over the
> regular synchronous services.  There is the possibility of concurrent
> processing of operations, but in general you shouldn't assume that
> operations will process any faster using the BMJS.  The BMJS is
> designed for uploading large numbers of entities, such as keywords and
> ads, but it should not be used for time-sensitive changes.
>
> Best,
> - Eric Koleda, AdWords API Team
>
> On Aug 5, 8:43 am, bobby healy 
> wrote:
>
>
>
> > OK, I've searched everywhere and there doesn't seem to be a single,
> > definitive answer to this question-:
>
> > "How do I bulk upload about 300,000 keywords as quickly as possible ?"
>
> > Currently this takes me about 24 hours using the following code. Is
> > there any faster way to do this ?
>
> >                 AdGroupAd textAdGroupAd = new AdGroupAd();
>
> > textAdGroupAd.setAdGroupId(g.getAdGroupID());
> > textAdGroupAd.setAd(textAd);
> >                     AdGroupAdOperation textAdGroupAdOperation = new
> > AdGroupAdOperation();
> >                     textAdGroupAdOperation.setOperand(textAdGroupAd);
> >                     textAdGroupAdOperation.setOperator(Operator.ADD);
> >                    ... add some exemptions
> >                     l.adGroupAdOperations.add(textAdGroupAdOperation);
> >                 BulkMutateJobServiceInterface bulkMutateJobService =
> > user.getService(
>
> > AdWordsService.V201003.BULK_MUTATE_JOB_SERVICE);
> >                 // Set scope of jobs.
> >                 EntityId scopingEntityId = new
> > EntityId(EntityIdType.CAMPAIGN_ID, c.getCampaignID());
> >                 long jobId = createAndBeginJob(bulkMutateJobService,
> > scopingEntityId, e.getValue().adGroupAdOperations.toArray(new
> > AdGroupAdOperation[0]));
> >                 OperationResult[] operationResults =
> > retrieveResultsFromJob(bulkMutateJobService, jobId, null);
>
> >     private static OperationResult[] retrieveResultsFromJob(
> >             BulkMutateJobServiceInterface bulkMutateJobService, long
> > jobId, ProgressDialog p)
> >             throws InterruptedException, IOException {
> >         List operationResultsByPart = new
> > ArrayList();
> >         BulkMutateJob job = null;
>
> >         // Create selector.
> >         BulkMutateJobSelector selector = new BulkMutateJobSelector();
> >         selector.setJobIds(new long[]{jobId});
>
> >         // Loop while waiting for the job to complete.
> >         int percent = 1;
> >         do {
> >             BulkMutateJob[] jobs = bulkMutateJobService.get(selector);
> >             job = jobs[0];
>
> >             System.out.println("Bulk mutate job with id \"" +
> > job.getId() + "\" has status \"" + job.getStatus() + "\".");
>
> >             if (job.getStatus().equals(BasicJobStatus.PENDING) ||
> > job.getStatus().equals(BasicJobStatus.PROCESSING)) {
> >                 if (p != null)
> >                     p.setProgress(percent++);
> >                 Thread.sleep(1);
> >             }
> >         } while (job.getStatus().equals(BasicJobStatus.PENDING) ||
> > job.getStatus().equals(BasicJobStatus.PROCESSING));
>
> > * the above WHILE loop is where it spends all it's time -
> > PROCESSING for hours...
>
> >         if (job.getStatus() == BasicJobStatus.FAILED) {
> >             throw new ApiException("Job failed.", null, null);
> >         }
>
> >         for (int i = 0; i < job.getNumRequestParts(); i++) {
> >             // Set selector to retrieve results for part.
> >             selector.setResultPartIndex(i);
> >             BulkMutateJob jobWithResult =
> > bulkMutateJobService.get(selector)[0];

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options

Re: Slow Performance of BulkMutateJob in uploading keywords

2010-08-06 Thread AdWords API Advisor
Hi Bobby,

The BulkMutateJobService does not offer any speed benefits over the
regular synchronous services.  There is the possibility of concurrent
processing of operations, but in general you shouldn't assume that
operations will process any faster using the BMJS.  The BMJS is
designed for uploading large numbers of entities, such as keywords and
ads, but it should not be used for time-sensitive changes.

Best,
- Eric Koleda, AdWords API Team

On Aug 5, 8:43 am, bobby healy 
wrote:
> OK, I've searched everywhere and there doesn't seem to be a single,
> definitive answer to this question-:
>
> "How do I bulk upload about 300,000 keywords as quickly as possible ?"
>
> Currently this takes me about 24 hours using the following code. Is
> there any faster way to do this ?
>
>                 AdGroupAd textAdGroupAd = new AdGroupAd();
>
> textAdGroupAd.setAdGroupId(g.getAdGroupID());
> textAdGroupAd.setAd(textAd);
>                     AdGroupAdOperation textAdGroupAdOperation = new
> AdGroupAdOperation();
>                     textAdGroupAdOperation.setOperand(textAdGroupAd);
>                     textAdGroupAdOperation.setOperator(Operator.ADD);
>                    ... add some exemptions
>                     l.adGroupAdOperations.add(textAdGroupAdOperation);
>                 BulkMutateJobServiceInterface bulkMutateJobService =
> user.getService(
>
> AdWordsService.V201003.BULK_MUTATE_JOB_SERVICE);
>                 // Set scope of jobs.
>                 EntityId scopingEntityId = new
> EntityId(EntityIdType.CAMPAIGN_ID, c.getCampaignID());
>                 long jobId = createAndBeginJob(bulkMutateJobService,
> scopingEntityId, e.getValue().adGroupAdOperations.toArray(new
> AdGroupAdOperation[0]));
>                 OperationResult[] operationResults =
> retrieveResultsFromJob(bulkMutateJobService, jobId, null);
>
>     private static OperationResult[] retrieveResultsFromJob(
>             BulkMutateJobServiceInterface bulkMutateJobService, long
> jobId, ProgressDialog p)
>             throws InterruptedException, IOException {
>         List operationResultsByPart = new
> ArrayList();
>         BulkMutateJob job = null;
>
>         // Create selector.
>         BulkMutateJobSelector selector = new BulkMutateJobSelector();
>         selector.setJobIds(new long[]{jobId});
>
>         // Loop while waiting for the job to complete.
>         int percent = 1;
>         do {
>             BulkMutateJob[] jobs = bulkMutateJobService.get(selector);
>             job = jobs[0];
>
>             System.out.println("Bulk mutate job with id \"" +
> job.getId() + "\" has status \"" + job.getStatus() + "\".");
>
>             if (job.getStatus().equals(BasicJobStatus.PENDING) ||
> job.getStatus().equals(BasicJobStatus.PROCESSING)) {
>                 if (p != null)
>                     p.setProgress(percent++);
>                 Thread.sleep(1);
>             }
>         } while (job.getStatus().equals(BasicJobStatus.PENDING) ||
> job.getStatus().equals(BasicJobStatus.PROCESSING));
>
> * the above WHILE loop is where it spends all it's time -
> PROCESSING for hours...
>
>         if (job.getStatus() == BasicJobStatus.FAILED) {
>             throw new ApiException("Job failed.", null, null);
>         }
>
>         for (int i = 0; i < job.getNumRequestParts(); i++) {
>             // Set selector to retrieve results for part.
>             selector.setResultPartIndex(i);
>             BulkMutateJob jobWithResult =
> bulkMutateJobService.get(selector)[0];

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en