第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

cx_Oracle SessionPool 所有 Flask 問(wèn)題的根源

cx_Oracle SessionPool 所有 Flask 問(wèn)題的根源

PHP
喵喔喔 2023-11-09 21:16:38
我在 Flask 中通過(guò) uwsgi 創(chuàng)建了一個(gè) Web 服務(wù)。為了安全起見,我想我應(yīng)該遵循良好的實(shí)踐并創(chuàng)建一個(gè)具有 20 個(gè)連接的 SessionPool。每次調(diào)用 Web 服務(wù)端點(diǎn)時(shí),我都會(huì)從池中獲取一個(gè)連接,最后釋放它。當(dāng)使用 Locust 進(jìn)行群體測(cè)試 API 時(shí),我遇到了數(shù)百次失敗,在一些較長(zhǎng)的響應(yīng)(30Mb JSON 響應(yīng))上幾乎 100% 失敗。較小的有效載荷要好得多,但會(huì)出現(xiàn)間歇性故障。當(dāng)我切換回不良實(shí)踐并在方法本身內(nèi)創(chuàng)建一個(gè)新的連接和光標(biāo)時(shí),我所有的問(wèn)題都消失了。數(shù)千次壓力測(cè)試呼叫 100% 成功。我的錯(cuò)誤多種多樣。TNS 錯(cuò)誤數(shù)據(jù)包、池中連接數(shù)不正確、用戶取消請(qǐng)求......只要你能想到的,它就在那里。因此,我似乎無(wú)法將 Oracle 連接池與 Flask 一起使用,或者在 Flask 應(yīng)用程序級(jí)別上只有一個(gè)連接(這會(huì)生成錯(cuò)誤,不知道為什么,這就是我切換到連接池的原因)。有關(guān)在 Flask 中使用 cx_Oracle 創(chuàng)建可擴(kuò)展應(yīng)用程序的任何建議。我原來(lái)的代碼是:pool = cx_Oracle.SessionPool("user", "password", "myserver.company.net:1521/myservice", min=10, max=10, increment=0, getmode=cx_Oracle.SPOOL_ATTRVAL_WAIT, encoding="UTF-8")def read_products_search(search=None):    """    This function responds to a request for /api/products    with the complete lists of people    :return:        json string of list of people    """    conn_ariel = pool.acquire()       cursor_ariel = conn_ariel.cursor()    search=search.lower()    print("product search term is: ", search)    # Create the list of products from our data    sql = """        SELECT DRUG_PRODUCT_ID, PREFERRED_TRADE_NAME, PRODUCT_LINE, PRODUCT_TYPE, FLAG_PASSIVE, PRODUCT_NUMBER        FROM DIM_DRUG_PRODUCT         WHERE lower(PREFERRED_TRADE_NAME) LIKE '%' || :search1 || '%' or lower(PRODUCT_LINE) LIKE '%' || :search2 || '%'  or lower(PRODUCT_NUMBER) LIKE '%' || :search3 || '%'         ORDER BY PREFERRED_TRADE_NAME ASC        """    cursor_ariel.execute(sql, {"search1":search,"search2":search, "search3":search })    products = []    for row in cursor_ariel.fetchall():        r = reg(cursor_ariel, row, False)        product = {            "drug_product_id"           :   r.DRUG_PRODUCT_ID,            "preferred_trade_name"      :   r.PREFERRED_TRADE_NAME,            "product_line"              :   r.PRODUCT_LINE,            "product_type"              :   r.PRODUCT_TYPE,            "flag_passive"              :   r.FLAG_PASSIVE,            "product_number"            :   r.PRODUCT_NUMBER        }
查看完整描述

1 回答

?
寶慕林4294392

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊

創(chuàng)建池時(shí),使用threaded=True.

查看完整回答
反對(duì) 回復(fù) 2023-11-09
  • 1 回答
  • 0 關(guān)注
  • 262 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)