first commit

This commit is contained in:
zzc
2026-01-09 11:21:29 +08:00
commit 24e6484860
29 changed files with 1930 additions and 0 deletions

42
bin/rpc.js Normal file
View File

@@ -0,0 +1,42 @@
#!/usr/bin/env node
if (process.env.NODE_ENV !== "production") require("dotenv").config();
const app = require("../app");
const server = new app.grpc.Server();
const client = new app.imageProto.Image(
`${process.env.PORT || 10010}`,
app.grpc.credentials.createSsl()
);
app.promisify(client);
try {
let address = `0.0.0.0:${process.env.PORT || 10010}`;
server.addService(app.imageProto.Image.service, app.imageImpl);
server.bindAsync(
address,
app.grpc.ServerCredentials.createInsecure(),
(err, port) => {
if (err) {
console.error(err);
process.exit(1);
}
console.log(`🚀 gRPC listening on ${port}`);
process.on("SIGTERM", () => {
console.log("SIGTERM received, shutting down gRPC server...");
server.tryShutdown(() => {
console.log("gRPC server closed");
process.exit(0);
});
});
}
);
// server.start()
// console.info(`Image gRPC server: Listening on ${address}`)
} catch (error) {
console.error(`Image gRPC server error: ${error.message}`);
process.exit(1);
}