43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
|
|
#!/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);
|
||
|
|
}
|