====== 2025-12-29T05:00:01+03:00 START ====== SHELL: /bin/bash PWD: /root/price-scraper PATH: /usr/local/bin:/usr/bin:/bin:/root/.local/bin UV: uv 0.7.19 --- run: /root/.local/bin/uv run /root/price-scraper/runner.py 2025-12-29 05:00:02 [INFO] [ps.runner] Runner start | scrapyd=http://localhost:6800 | project=price_scraper Failed to connect to Google Sheets Traceback (most recent call last): File "/root/price-scraper/price_scraper/utils/sheets_client.py", line 49, in _connect self.worksheet = client.open_by_key(self.spreadsheet_id).worksheet(self.worksheet_name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/client.py", line 174, in open_by_key raise ex File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/client.py", line 168, in open_by_key spreadsheet = Spreadsheet(self.http_client, {"id": key}) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/spreadsheet.py", line 29, in __init__ metadata = self.fetch_sheet_metadata() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/spreadsheet.py", line 230, in fetch_sheet_metadata return self.client.fetch_sheet_metadata(self.id, params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/http_client.py", line 305, in fetch_sheet_metadata r = self.request("get", url, params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/http_client.py", line 128, in request raise APIError(response) gspread.exceptions.APIError: APIError: [503]: The service is currently unavailable. 2025-12-29 05:00:06 [ERROR] [ps.runner] Runner failed: APIError: [503]: The service is currently unavailable. Traceback (most recent call last): File "/root/price-scraper/runner.py", line 86, in main sheets = GoogleSheetsClient() ^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/price_scraper/utils/sheets_client.py", line 34, in __init__ self._connect() File "/root/price-scraper/price_scraper/utils/sheets_client.py", line 49, in _connect self.worksheet = client.open_by_key(self.spreadsheet_id).worksheet(self.worksheet_name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/client.py", line 174, in open_by_key raise ex File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/client.py", line 168, in open_by_key spreadsheet = Spreadsheet(self.http_client, {"id": key}) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/spreadsheet.py", line 29, in __init__ metadata = self.fetch_sheet_metadata() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/spreadsheet.py", line 230, in fetch_sheet_metadata return self.client.fetch_sheet_metadata(self.id, params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/http_client.py", line 305, in fetch_sheet_metadata r = self.request("get", url, params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/http_client.py", line 128, in request raise APIError(response) gspread.exceptions.APIError: APIError: [503]: The service is currently unavailable. GOOGLE_WORKSHEET_NAME Sheet2 Traceback (most recent call last): File "/root/price-scraper/runner.py", line 103, in main() File "/root/price-scraper/runner.py", line 86, in main sheets = GoogleSheetsClient() ^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/price_scraper/utils/sheets_client.py", line 34, in __init__ self._connect() File "/root/price-scraper/price_scraper/utils/sheets_client.py", line 49, in _connect self.worksheet = client.open_by_key(self.spreadsheet_id).worksheet(self.worksheet_name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/client.py", line 174, in open_by_key raise ex File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/client.py", line 168, in open_by_key spreadsheet = Spreadsheet(self.http_client, {"id": key}) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/spreadsheet.py", line 29, in __init__ metadata = self.fetch_sheet_metadata() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/spreadsheet.py", line 230, in fetch_sheet_metadata return self.client.fetch_sheet_metadata(self.id, params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/http_client.py", line 305, in fetch_sheet_metadata r = self.request("get", url, params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/price-scraper/.venv/lib/python3.12/site-packages/gspread/http_client.py", line 128, in request raise APIError(response) gspread.exceptions.APIError: APIError: [503]: The service is currently unavailable.