I am using the v201601 Python library which is very well explained and documented.
Short question:
- Is it possible for the BatchJobService to be "DONE", or "CANCELLED". Without a corresponding change in the batch job object which was selected by Id.
Long explanation:
I used the BatchJobService to update the status 2701 campaigns all at once.
I was able to poll the status using the selector and predicates EQUALS <batch_job_id> with an exponential drop off as recommended in the example
This worked reliably most of the time, and completed in 30 - 40s on average.
Occasionally, the exact same request would complete in 3 minutes with a status of "AWAITING _FILE" or "ACTIVE"
I believe the operations usually completed eventually, but once in a while they did not.
This problem is difficult to replicate as the service usually works perfectly, but I will try to log all the interations in the future so I can provide more details.
Long Question:
Assuming:
- I have polled the correct batch job Id
- I have indeed uploaded operations to the batch job
- I polled the batch job status exactly as recommended in the documentation
1 - Is it possible for the job to take a very long time occaisionally? And rarely fail for reasons unknown, and maybe not change the status after failing or completing?
2 - Is there a maximum waiting time (maybe it's in the docs and I missed it) at which I should stop polling the status and assume the job has failed, or double check with the account on the Adwords website.