NODE.JS 写一个微服务,但不需要 request & responde

2020-03-22 11:13:37 +08:00
 tomtao
有个小问题问下各位大神
我有一个小服务,逻辑是这样的
1:每隔一分钟,读一次数据表,查询有没有新的记录
2:有新的记录,取到数据,调用 第三方 微博 API,通过 HTTP 请求将记录 发送到微博
3:发送成功后,标记数据库记录 发送 成功或者失败

通过 NODE.JS 写这样一个后台服务,启动它,一直运行

我的问题是,这种服务应该使用什么框架 如 express , 或者说不需要框架
因为不需要 route 来请求启动这样的服务,而是直接在 命令行启动就行。
没有思路,新手求指导
5725 次点击
所在节点    Node.js
13 条回复
also24
2020-03-22 11:16:42 +08:00
不需要 『 Web 框架』

只需要写好程序,然后使用 PM2 Systemd 之类的工具维护就好。
stabc
2020-03-22 11:16:47 +08:00
express 的核心功能就是 route+middleware,你这两个都不需要,所以不需要用 express 。
zhzbql
2020-03-22 11:17:25 +08:00
用 request 这个库,或者原生的 httpAPI
huai
2020-03-22 11:20:55 +08:00
楼主是说,程序运行一次,就结束了吧。脚本不难,一直运行 可能卡主了。
drydiy
2020-03-22 11:43:44 +08:00
你这不用第三方的 web 框架。
原生的 http 模块发送请求就可以了。
deepred
2020-03-22 11:53:23 +08:00
你需要:
1. 一个数据库 orm,比如 sequelize,mongoose
2. 一个定时任务库, 比如 node-schedule,node-corn
3. 一个 http 请求库,比如 request,axios
xcstream
2020-03-22 11:53:56 +08:00
只需要一个 setInterval
gkiwi
2020-03-22 11:56:50 +08:00
定时可以用 crontab,连 pm2 都省了,
otakustay
2020-03-22 14:39:30 +08:00
写一个脚本然后让 crontab 调用就行了
musi
2020-03-22 15:27:19 +08:00
为啥不试试阿里云的函数计算?
yafoo
2020-03-22 22:35:02 +08:00
一个 setInterval 就完事了
alya
2020-03-23 09:10:46 +08:00
你需要的是任务调度工具
mugongwangzi123
2020-04-23 17:07:55 +08:00
直接写个 serverless 的应用就行了, 阿里和腾讯这种应该都有, 直接写逻辑. 调用方式有定时调用, API 网关等等, 你这个定时器估计就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/655038

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX