为了测试,我将MYSQL(RDS)参数修改如下;
wait_timeout = 40(默认为 28800)
max_allowed_packet = 1GB(最大 - 只是为了确保问题不是由小数据包引起的)
net_read_timeout = 10
Interactive_timeout 不变
然后在没有pool_pre_ping设置选项的情况下测试我的应用程序(默认为 False),使应用程序保持非活动状态 40 秒,尝试登录,然后我得到
Nov 14 20:05:20 ip-172-31-33-52 gunicorn[16962]: Traceback (most recent call last):
Nov 14 20:05:20 ip-172-31-33-52 gunicorn[16962]: File "/var/www/api_server/venv/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
Nov 14 20:05:20 ip-172-31-33-52 gunicorn[16962]: context)
Nov 14 20:05:20 ip-172-31-33-52 gunicorn[16962]: File "/var/www/api_server/venv/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 507, in do_execute
Nov 14 20:05:20 ip-172-31-33-52 gunicorn[16962]: cursor.execute(statement, parameters)
Nov 14 20:05:20 ip-172-31-33-52 gunicorn[16962]: File "/var/www/api_server/venv/lib/python3.6/site-packages/MySQLdb/cursors.py", line 206, in execute
Nov 14 20:05:20 …Run Code Online (Sandbox Code Playgroud) 我有一个用 python 编写的 ETL 作业,它由具有以下目录结构的多个脚本组成;
\n\nmy_etl_job\n |\n |--services\n | |\n | |-- __init__.py\n | |-- dynamoDB_service.py\n |\n |-- __init__.py\n |-- main.py\n |-- logger.py\nRun Code Online (Sandbox Code Playgroud)\n\nmain.py是从上述目录导入其他脚本的入口点脚本。上面的代码上传到由 dev 端点创建的 ETL 集群后,在 dev-endpoint 上运行得非常好。既然现在我想在生产中运行它,我想为它创建一个合适的粘合作业。my_etl_job但是当我以format压缩整个目录时.zip,将其上传到 artifacts s3 存储桶中,并将 .zip 文件位置指定到脚本位置,如下所示
s3://<bucket_name>/etl_jobs/my_etl_job.zip\nRun Code Online (Sandbox Code Playgroud)\n\n这是我在胶水作业 UI 仪表板上看到的代码;
\n\nPK\n \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdP__init__.pyUX\xef\xbf\xbd\'\xef\xbf\xbd^"\xef\xbf\xbd^A\xef\xbf\xbd\xef\xbf\xbd)PK#7\xef\xbf\xbdP logger.pyUX\xef\xbf\xbd\xef\xbf\xbd^1\xef\xbf\xbd\xef\xbf\xbd^A\xef\xbf\xbd\xef\xbf\xbd)]\xef\xbf\xbdMk\xef\xbf\xbd0\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbda\xef\xbf\xbd&v+\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdA\xef\xbf\xbdB\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd`x\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdq\xef\xbf\xbd\xef\xbf\xbd} ...AND ALLOT MORE...\nRun Code Online (Sandbox Code Playgroud)\n\n似乎胶水作业不接受 .zip 格式?如果是,那么我应该使用什么压缩格式?
\n\n更新: \n我检查了粘合作业可以选择接受额外的文件,Referenced files path其中我提供了上述文件的所有路径的逗号分隔列表,并将 script_location 更改为仅引用main.py文件路径。但这也没有奏效。粘合作业抛出错误 no module found logger (我在 logger.py 文件中定义了这个模块)
我有三个表用户、设备和角色。我像这样创建了一个多对多关系 b/w User 和 Device;
#Many-to-Many relation between User and Devices
userDevices = db.Table("user_devices",
db.Column("id", db.Integer, primary_key=True),
db.Column("user_id", db.Integer, db.ForeignKey("user.id")),
db.Column("device_id", db.Integer, db.ForeignKey("device.id"))))
class User(db.Model):
__tablename__ = 'user'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(60), index=True, unique=True)
devices = db.relationship("Device", secondary=userDevices, backref=db.backref('users'), lazy="dynamic")
class Device(db.Model):
__tablename__ = 'device'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(60), unique=True)
Run Code Online (Sandbox Code Playgroud)
这很安静。我可以将设备分配d1给用户u1> d1.users.append(u1),将用户分配给设备 >u1.devices.append(d1)和db.session.commit()。
我想要更多的是user_devices用一列扩展表,作为role_id角色表的外键。以便此表user_devices将清楚地描述一个Role特定User于特定的Device …
我正在尝试在我已经建立的应用程序中添加 PyQt GUI 控制台。但 PyQt GUI 会阻止整个应用程序,使其无法完成其余工作。我尝试使用 QThread,但这是从 mainWindow 类调用的。我想要的是在单独的线程中运行 MainWindow 应用程序。
def main()
app = QtGui.QApplication(sys.argv)
ex = Start_GUI()
app.exec_() #<---------- code blocks over here !
#After running the GUI, continue the rest of the application task
doThis = do_Thread("doThis")
doThis.start()
doThat = do_Thread("doThat")
doThat.start()
Run Code Online (Sandbox Code Playgroud)
我的应用程序已经使用 Python 线程,所以我的问题是,以线程形式实现此过程的最佳方法是什么。
我是密码学的全新人物.我想从服务器端生成RSA密钥对,并将其发送给所有客户端(浏览器).但在此之前,我只是通过加密python中的数据并通过pubnub发送到index.html文件并尝试在JavaScript中解密来测试场景.问题是当我做加密时;
random_generator = Random.new().read
key = RSA.generate(1024, random_generator)
print key.exportKey() #<--private key
public_key = key.publickey()
print public_key.exportKey() #<--public key
msg = "hello"
enc_data = public_key.encrypt(msg, 32)
print '----ENCRYPTED DATA----'
enc = enc_data[0]
Run Code Online (Sandbox Code Playgroud)
并发送加密数据enc,它给我这个错误:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc4 in position 2: invalid continuation byte
Run Code Online (Sandbox Code Playgroud)
我试着把它转换成
enc = base64.b64encode(enc_data[0])
Run Code Online (Sandbox Code Playgroud)
它发送没有错误.但JS解密方法获取无
var enc_from_python = $('#input').val();
console.log("ENCRYPTED data:", enc_from_python);
var decrypt = new JSEncrypt();
decrypt.setPrivateKey($('#privkey').val());
var uncrypted = decrypt.decrypt(enc_from_python);
console.log(">>>",uncrypted); //<-- this is None ! why ?
Run Code Online (Sandbox Code Playgroud)
这两个代码都可以自己进行加/减.我还尝试使用python中收到的密钥对来加密/解析JS中的数据,这很有效.我想问题是来自Pycrypto的编码数据的unicode编码格式不匹配.谁能告诉我在这里我错过了什么.
Python的完整代码:
import time …Run Code Online (Sandbox Code Playgroud) 我是Elixir的新手,很难更新变量。需要一些帮助。我有两张地图
firstMsg = %{msg: "Hello", vt: %{"p1" => 1, "p2" => 1, "p3" => 1}, from: "p3"}
state = %{ :name => "p2",
vector: %{"p1" => 0, "p2" => 0, "p3" => 0},
participants: ["p1","p3","p2"]
}
Run Code Online (Sandbox Code Playgroud)
我在函数中传递了这两个映射,根据某些条件,该函数应该返回true或false。
defmodule Testfunc do
def keep_in_pending(firstMsg, state) do
if (firstMsg.vt[firstMsg.from] == state.vector[firstMsg.from] + 1) do
#IO.puts("Origin proc clock is 1 step ahead from rcvd process Origin clk")
checking = false #initially set this to false
for n <- state.participants do
if n != firstMsg.from …Run Code Online (Sandbox Code Playgroud) 我想将一个变量的子字符串声明为另一个变量。我测试了使用terraform控制台获取子字符串。
> echo 'element(split (".", "10.250.3.0/24"), 2)' | terraform console
> 3
Run Code Online (Sandbox Code Playgroud)
我的子网是10.250.3.0/24,我希望我的虚拟机在此子网掩码10.250.3.6中获得私有IP地址。我希望通过查看子网地址来自动分配该地址。我尝试过的
测试文件
variable subnet {
type = "string"
default = "10.250.3.0/24"
description = "subnet mask myTestVM will live"
}
variable myTestVM_subnet {
type = "string"
default = "10.250." ${element(split(".", var.trusted_zone_onpremises_subnet), 2)} ".6"
}
Run Code Online (Sandbox Code Playgroud)
然后我通过测试
terraform console
>Failed to load root config module: Error parsing /home/anum/test/test.tf: At 9:25: illegal char
Run Code Online (Sandbox Code Playgroud)
我想这只是简单的语法问题。但不知道是什么!