我正在创建与Servicebus的5个连接,并将它们放在一个数组中。然后,随着新消息的不断出现,我从阵列获得了一个连接,并使用它们来发送消息。当我启动服务并运行负载测试时,它工作正常。我离开服务理想状态一段时间,然后再次运行相同的负载测试,开始出现此错误。 import pandas as pd
import numpy as np
#to plot within notebook
import matplotlib.pyplot as plt
'exec(%matplotlib inline)'
#setting figure size
from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 20,10
#for normalizing data
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler(feature_range=(0, 1))
#read the file
df = pd.read_csv('NSE-TATAGLOBAL (5).csv')
#print the head
df.head()
#setting index as date
df['Date'] = pd.to_datetime(df.Date,format='%Y-%m-%d')
df.index = df['Date']
#sorting
data = df.sort_index(ascending=True, axis=0)
#creating a separate dataset
new_data = pd.DataFrame(index=range(0,len(df)),columns=['Date', 'Close'])
for i in range(0,len(data)):
new_data['Date'][i] = data['Date'][i]
new_data['Close'][i] = data['Close'][i]
#split into train and validation
train = new_data[:987]
valid = new_data[987:]
x_train = train.drop('Close', axis=1)
y_train = train['Close']
x_valid = valid.drop('Close', axis=1)
y_valid = valid['Close']
#implement linear regression
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(x_train,y_train)
#make predictions and find the rmse
preds = model.predict(x_valid)
rms=np.sqrt(np.mean(np.power((np.array(y_valid)-np.array(preds)),2)))
rms
#plot
valid['Predictions'] = 0
valid['Predictions'] = preds
valid.index = new_data[987:].index
train.index = new_data[:987].index
plt.plot(train['Close'])
plt.plot(valid[['Close', 'Predictions']])
我不确定这是否是缓存连接并重用它们的好方法,这可能会导致此问题,或者是导致此问题的其他原因。
connect ETIMEDOUT xxx.xxx.xxx.xxx\\n at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
我不确定现在应该选择哪个路由来解决此超时错误。
答案 0 :(得分:0)
查看azure-sdk-for-node的源代码,特别是这些行的顺序
SDK仅通过其REST API向Service Bus执行REST请求。因此,我并不认为合并这些对象真的有帮助。
在SDK使用的request
npm模块引起的那个时间点,超时似乎是一个真正的超时。
您可能可以尝试使用newer SDK,该引擎在幕后使用amqp连接到服务总线。请注意,此SDK处于预览状态。
答案 1 :(得分:0)
正如PramodValavalala-MSFT在另一个答案中提到的@azure/service-bus
SDK一样,@azure/service-bus
SDK的主要版本7.0.0(已在预览中)取决于AMQP,最近已发布。
ServiceBusClient
的每个实例代表一个连接,ServiceBusClient下的所有方法都使用相同的连接。