9cd81a3ea7
Split vn.py into qihuo-ctp worker with IPC client bridge, keep CTP connected during breaks with cached account fallback, speed up strategy page loads, and allow off-session breakout roll submissions. Co-authored-by: Cursor <cursoragent@cursor.com>
63 lines
1.7 KiB
JavaScript
63 lines
1.7 KiB
JavaScript
const path = require("path");
|
|
const fs = require("fs");
|
|
|
|
const ROOT = __dirname;
|
|
const venvCandidates = [
|
|
path.join(ROOT, "venv", "bin", "python"),
|
|
path.join(ROOT, "venv", "Scripts", "python.exe"),
|
|
];
|
|
const interpreter = venvCandidates.find((p) => fs.existsSync(p)) || "python3";
|
|
|
|
module.exports = {
|
|
apps: [
|
|
{
|
|
name: "qihuo",
|
|
script: "app.py",
|
|
cwd: ROOT,
|
|
interpreter,
|
|
instances: 1,
|
|
autorestart: true,
|
|
watch: false,
|
|
max_memory_restart: "8192M",
|
|
env: {
|
|
NODE_ENV: "production",
|
|
LANG: "zh_CN.UTF-8",
|
|
LC_ALL: "zh_CN.UTF-8",
|
|
LC_CTYPE: "zh_CN.UTF-8",
|
|
QIHUO_CTP_ROLE: "client",
|
|
QIHUO_CTP_WORKER_URL: "http://127.0.0.1:6601",
|
|
QIHUO_CTP_WORKER_TOKEN: "qihuo-local-ctp",
|
|
QIHUO_STARTUP_WORKERS: "8",
|
|
QIHUO_MEMORY_MB: "8192",
|
|
},
|
|
error_file: path.join(ROOT, "logs", "pm2-error.log"),
|
|
out_file: path.join(ROOT, "logs", "pm2-out.log"),
|
|
time: true,
|
|
},
|
|
{
|
|
name: "qihuo-ctp",
|
|
script: "ctp_worker.py",
|
|
cwd: ROOT,
|
|
interpreter,
|
|
instances: 1,
|
|
autorestart: true,
|
|
watch: false,
|
|
max_memory_restart: "8192M",
|
|
env: {
|
|
NODE_ENV: "production",
|
|
LANG: "zh_CN.UTF-8",
|
|
LC_ALL: "zh_CN.UTF-8",
|
|
LC_CTYPE: "zh_CN.UTF-8",
|
|
QIHUO_CTP_ROLE: "worker",
|
|
QIHUO_CTP_WORKER_HOST: "127.0.0.1",
|
|
QIHUO_CTP_WORKER_PORT: "6601",
|
|
QIHUO_CTP_WORKER_TOKEN: "qihuo-local-ctp",
|
|
QIHUO_MEMORY_MB: "8192",
|
|
},
|
|
error_file: path.join(ROOT, "logs", "pm2-ctp-error.log"),
|
|
out_file: path.join(ROOT, "logs", "pm2-ctp-out.log"),
|
|
time: true,
|
|
},
|
|
],
|
|
};
|