日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了如何在請求時(shí)獲取有關(guān)連接ID的信息?的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我希望在執(zhí)行長查詢時(shí)獲得連接ID(ThreadID),以防前端(Vue.js)的用戶想要取消查詢(以防查詢永遠(yuǎn)不結(jié)束…)。因此,當(dāng)用戶點(diǎn)擊”停止查詢”時(shí),我將對MySQL..

執(zhí)行KILL(ThreadID)

我正在與KNOW(CLIENT=MySQL)一起使用池化。我相信這是一件微不足道的事情,但可以請某人描述一下我如何訪問它。我的后端(node.js)的設(shè)置不同-是由一個(gè)聰明人創(chuàng)建的,他定義池和連接如下:

connection.connect(function(err) {
  if (err) {
    console.error('error connecting: ' + err.stack);
    return;
  }

  console.log('connected as id ' + connection.threadId);
});
const knex = require("knex");

// Helpers -------------------------------------------------------------------
const connection = (user, password) =>
  knex({
    client: "mysql",
    connection: {
      multipleStatements: true,
      host: process.env.MYSQL_IP,
      port: process.env.MYSQL_PORT,
      user,
      password,
      database: "",
      dateStrings: true,
      idleTimeoutMillis: -1
    },
    debug: true,
    pool: {
      min: 0,
      max: 7
    }
  });

const knex_session = pool => (user, password) => {
  if (pool[user] === undefined) {
    pool[user] = connection(user, password);
  }
  return pool[user];
};

// Pool ----------------------------------------------------------------------
const connections = {};

// Exports -------------------------------------------------------------------
exports.admin = connection(
  process.env.MYSQL_USERNAME,
  process.env.MYSQL_PASSWORD
);
exports.client = knex_session(connections);

// ---------------------------------------------------------------------------

我正在尋找一種以某種方式獲取MySQL線程ID的方法–我想是從函數(shù)(路由)獲得的。其他選項(xiàng)是對MySQL的其他調(diào)用(SELECT CONNECTION_ID()),或者通過某種方式從請求對象中提取數(shù)據(jù)(然而,在這里也不成功)。
然后執(zhí)行KILL QUERY(ThreadID)以確保查詢不會掛起,并確保我可以向用戶顯示正確的VUE組件。

推薦答案

正如您已經(jīng)發(fā)現(xiàn)的,MySQL connection id是Connection對象的屬性:connection.threadId。knex也是如此,因?yàn)樗挥趍ysql之上。

只要它在作用域中,您就可以從Connection對象中獲取它,并將其放在一個(gè)有用的位置……如果你是快遞的話就是這樣的。

    function whatever (req, res, next) {
       ...
       res.dbmsThreadId = connection.threadId
       ...
    }

這篇關(guān)于如何在請求時(shí)獲取有關(guān)連接ID的信息?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標(biāo)簽:connection-pooling errorHowtogetinfoaboutconnectionIdatrequest? excepti
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定