@xuda.io/xuda-worker-bundle-min 1.3.516 → 1.3.518
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +64 -4
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1132,18 +1132,68 @@ func.common.perform_rpi_request = async function (
|
|
|
1132
1132
|
|
|
1133
1133
|
try {
|
|
1134
1134
|
if (
|
|
1135
|
-
RUNTIME_SERVER_WEBSOCKET &&
|
|
1136
|
-
RUNTIME_SERVER_WEBSOCKET_CONNECTED &&
|
|
1135
|
+
// RUNTIME_SERVER_WEBSOCKET &&
|
|
1136
|
+
// RUNTIME_SERVER_WEBSOCKET_CONNECTED &&
|
|
1137
1137
|
SESSION_OBJ?.[SESSION_ID]?.rpi_http_methods?.includes(serviceP)
|
|
1138
1138
|
) {
|
|
1139
|
-
return await ws();
|
|
1139
|
+
// return await ws();
|
|
1140
|
+
return await func.common.get_data_from_websocket(
|
|
1141
|
+
SESSION_ID,
|
|
1142
|
+
serviceP,
|
|
1143
|
+
data
|
|
1144
|
+
);
|
|
1140
1145
|
} else {
|
|
1141
|
-
throw new Error("
|
|
1146
|
+
throw new Error("method not found in rpi_http_methods");
|
|
1142
1147
|
}
|
|
1143
1148
|
} catch (err) {
|
|
1144
1149
|
return await http();
|
|
1145
1150
|
}
|
|
1146
1151
|
};
|
|
1152
|
+
|
|
1153
|
+
func.common.get_data_from_websocket = async function (
|
|
1154
|
+
SESSION_ID,
|
|
1155
|
+
serviceP,
|
|
1156
|
+
data
|
|
1157
|
+
) {
|
|
1158
|
+
var _session = SESSION_OBJ[SESSION_ID];
|
|
1159
|
+
return new Promise(function (resolve, reject) {
|
|
1160
|
+
glb.websocket_queue_num++;
|
|
1161
|
+
const obj = {
|
|
1162
|
+
service: serviceP,
|
|
1163
|
+
data,
|
|
1164
|
+
websocket_queue_num: glb.websocket_queue_num,
|
|
1165
|
+
};
|
|
1166
|
+
if (glb.IS_WORKER) {
|
|
1167
|
+
func.utils.post_back_to_client(
|
|
1168
|
+
SESSION_ID,
|
|
1169
|
+
"get_dbs_data_from_websocket",
|
|
1170
|
+
_session.worker_id,
|
|
1171
|
+
obj
|
|
1172
|
+
);
|
|
1173
|
+
|
|
1174
|
+
self.addEventListener(
|
|
1175
|
+
"get_ws_data_worker_" + glb.websocket_queue_num,
|
|
1176
|
+
(event) => {
|
|
1177
|
+
resolve(event.detail.data);
|
|
1178
|
+
}
|
|
1179
|
+
);
|
|
1180
|
+
// throw new Error("not ready yet");
|
|
1181
|
+
} else {
|
|
1182
|
+
if (RUNTIME_SERVER_WEBSOCKET && RUNTIME_SERVER_WEBSOCKET_CONNECTED) {
|
|
1183
|
+
RUNTIME_SERVER_WEBSOCKET.emit("message", obj);
|
|
1184
|
+
$("body").on(
|
|
1185
|
+
"get_ws_data_response_" + glb.websocket_queue_num,
|
|
1186
|
+
(e, data) => {
|
|
1187
|
+
resolve(data.data);
|
|
1188
|
+
$("body").off("get_ws_data_response_" + glb.websocket_queue_num);
|
|
1189
|
+
}
|
|
1190
|
+
);
|
|
1191
|
+
} else {
|
|
1192
|
+
throw new Error("fail to fetch from ws websocket inactive");
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1195
|
+
});
|
|
1196
|
+
};
|
|
1147
1197
|
glb.DEBUG_INFO_OBJ = {};
|
|
1148
1198
|
// var CONNECTION_ATTEMPTS = 0;
|
|
1149
1199
|
glb.APP_INFO = {};
|
|
@@ -5842,6 +5892,16 @@ func.utils.ws_worker.functions = {
|
|
|
5842
5892
|
data: params,
|
|
5843
5893
|
});
|
|
5844
5894
|
},
|
|
5895
|
+
return_dbs_data_from_websocket: function (params) {
|
|
5896
|
+
var SESSION_ID = params.session_id;
|
|
5897
|
+
function emitCustomEvent(eventName, detail) {
|
|
5898
|
+
const event = new CustomEvent(eventName, { detail });
|
|
5899
|
+
self.dispatchEvent(event);
|
|
5900
|
+
}
|
|
5901
|
+
emitCustomEvent("get_ws_data_worker_" + params.websocket_queue_num, {
|
|
5902
|
+
data: params.data,
|
|
5903
|
+
});
|
|
5904
|
+
},
|
|
5845
5905
|
heartbeat: async function (params) {
|
|
5846
5906
|
var SESSION_ID = params.session_id;
|
|
5847
5907
|
|