我正在嘗試將來自 messenger 的所有訊息及其發件人存盤在 24/7 運行的資料庫中。下面的代碼縮寫為ver。僅獲取存盤在資料庫中的發件人以將它們與新發件人進行比較的整個代碼。
我的問題是:
當我使用本地 chrome 驅動程式執行以下代碼時
driver = webdriver.Chrome('/Users/USER/Projects/seleniumBeta/chromedriver 15-24-35-680', chrome_options=chrome_options)
程式成功從資料庫中獲取資料。但是當我在heroku上運行以下代碼時
heroku 運行 python3 app.py
from sqlalchemy import create_engine, text
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
import os
...
database = create_engine(DB_URL, encoding='utf-8', max_overflow=0)
chrome_options = webdriver.ChromeOptions()
chrome_options.binary_location = os.environ.get("GOOGLE_CHROME_BIN")
chrome_options.add_argument("--headless")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--no-sandbox")
driver = webdriver.Chrome(executable_path=os.environ.get("CHROMEDRIVER_PATH"), chrome_options=chrome_options)
globalURL = 'https://www.messenger.com/t/101210925710184'
driver.get(globalURL)
(... LOGIN CODES)
def repeater():
senders = [sender['name'] for sender in database.execute(text("SELECT * FROM senders")).fetchall()]
return repeater()
repeater()
應用程式無法通過以下錯誤獲取發件人:
sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1226, "User 'b715fbc9127dd4' has exceeded the 'max_questions' resource (current value: 3600)")
當我允許未知設備從本地設備上的 Facebook 頁面登錄時,就會發生這種情況。
我很高興在這里聽到任何建議。謝謝 !
uj5u.com熱心網友回復:
這個錯誤資訊...
sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1226, "User 'b715fbc9127dd4' has exceeded the 'max_questions' resource (current value: 3600)")
......暗示主機將每個用戶的連接限制為每小時 3600,但您的程式已超過該值。
解決方案
您可以嘗試以下幾個步驟:
在
create_engine()或從phpmyadmin設定以下內容:@MAX_QUESTIONS=0;# 這將設定無限的“max_questions”FLUSH PRIVILEGES;
由于
max_questions設定為每小時一定數量的請求,您只需要在一小時后重試。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/361266.html
