• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

redhat-performance / cloud-governance / 27280569828
73%

Build:
DEFAULT BRANCH: main
Ran 10 Jun 2026 01:56PM UTC
Jobs 0
Files 0
Run time –
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
27280569828

push

travis-pro

web-flow
Add caching to Google Sheets API calls to prevent rate limiting (#1002)

* Add caching to Google Sheets API calls to prevent rate limiting

When updating multiple rows in Google Sheets, the find_sheet_id_by_name()
method was being called repeatedly for the same spreadsheet and sheet,
causing excessive API calls and hitting the Google Sheets API rate limit
of 60 read requests per minute.

This commit adds an in-memory cache to store sheet IDs, significantly
reducing the number of API calls. The cache is session-scoped and
automatically invalidated when new sheets are created.

Also fixes a typo in error logging (logger.into -> logger.info).

Co-authored-by: Cursor <cursoragent@cursor.com>

* Add cache invalidation and retry logic for stale sheet IDs

Addresses potential issue where cached sheet IDs can become stale if
sheets are renamed/deleted/recreated by external processes during a
job run. This would cause operations to fail with "sheet not found"
errors with no recovery mechanism.

Changes:
- Added _evict_sheet_cache() method to remove stale cache entries
- Added use_cache parameter to find_sheet_id_by_name() to bypass cache
- Wrapped delete_rows(), update_row_in_gsheet(), and paste_csv_to_gsheet()
  with retry logic that:
  1. Attempts operation with cached sheet ID
  2. On "not found" errors, evicts cache and retries once with fresh lookup
  3. Fails gracefully if second attempt also fails

This defensive approach prevents complete job failures when sheet
metadata changes during execution.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Address coderabbit review comments

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Source Files on build 27280569828
Detailed source file information is not available for this build.
  • Back to Repo
  • d775cb76 on github
  • Prev Build on main (#27262419216)
  • Next Build on main (#27331919060)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc