Closed g3or3 closed 2 years ago
Hi @g3or3 in your example code, stream
is a generator and only processes chunks in the stream on each iteration, so if there is logic in the body of the loop that is causing a delay, it could eventually cause the stream to stop. In other words, is it possible to confirm that the steps defined here as process and write to s3
aren't causing a bottleneck?
If you're processing a large amount of data in each row, setting use_proto_plus
to False can help improve performance.
@g3or3 Another thought, we recently had an outage that may be the cause here. It's since been fixed, can you let me know if this problem is still occurring?
Thank you for the feedback here, I will check to make sure we don't have any bottlenecks in the loop. Although it seems to be resolved now as well thanks!
Details on the outage can be found at https://ads.google.com/status/publisher/incidents/TzP81sKq9EBjuSGURXSq
Workflow runs as part of an Airflow DAG task to pull the latest Google Ads adgroup data and store in S3 for further processing. This task executes hourly and usually succeeds in under 2 minutes. Lately, there have been task instances which retry after waiting for 50+ minutes where the call to Google hangs and the tracebacks looks as follows:
Steps to Reproduce:
Exception:
Expected behavior:
Raise network error if occurred.
Client library version and API version: Client library version: v10 Google Ads API version: 16.0.0
To enable logging see this page: https://developers.google.com/google-ads/api/docs/client-libs/python/logging
NOTE: Make sure to include a Request ID when possible, and to redact personally identifiable information, including developer tokens, GCP client IDs, customer IDs, etc. -->
Anything else we should know about your project / environment: