使用 Nodejs 以编程方式将作业添加到 linux cron 列表
Add a job to linux cron list programmatically with Nodejs
我有一份 Nodejs 的工作,我想每 30 分钟用我的 Nodejs 程序扫描数据库并更新电子商务中的产品数据 API,请注意 Nodejs 程序正在为 REST 提供服务API(后端)用于反应 js web 应用程序
所以我搜索了一下,发现我可以像 "node-schedule" 这样使用 Nodejs Cron 库来做到这一点,但我知道使用 Linux Cron
会更有趣
var j = schedule.scheduleJob('42 * * * *', function(){
console.log('The answer to life, the universe, and everything!');
});
是否有任何库可以让我使用 Nodejs 将 Cron 作业添加到 Linux 或者我只使用 "fs" 来完成?所以我将打开 cron 作业文件并添加我的命令?
作为 Vixie Cron 一部分的命令 crontab
允许您创建、编辑和删除每个用户的 cron 条目。
或者如果您 运行 作为 root
用户,您不应该 做 ,您可以将 cron 文件放入 /etc/cron.d
这并不总是受支持,如果您 运行 在 Docker 类型的容器环境中,则怀疑您是否有任何 cron。在那种环境中,您希望 运行 Nodejs 为您处理预定的作业。或者使用其他类型的分布式计划工作系统。
您可以将 cron 作业放入 nodejs 脚本。然后可以通过 cronbee 模块通过 API:
添加到 crontab
import { cronbee } from 'cronbee'
await cronbee.ensure({
taskName: 'do smth',
taskRun: `node my-script`,
cron: '42 * * * *'
})
或者您可以通过 CLI 确保 cron 作业,如果该模块是全局安装的或来自 npm 脚本:
$ cronbee ensure mytasks.json
我有一份 Nodejs 的工作,我想每 30 分钟用我的 Nodejs 程序扫描数据库并更新电子商务中的产品数据 API,请注意 Nodejs 程序正在为 REST 提供服务API(后端)用于反应 js web 应用程序 所以我搜索了一下,发现我可以像 "node-schedule" 这样使用 Nodejs Cron 库来做到这一点,但我知道使用 Linux Cron
会更有趣 var j = schedule.scheduleJob('42 * * * *', function(){
console.log('The answer to life, the universe, and everything!');
});
是否有任何库可以让我使用 Nodejs 将 Cron 作业添加到 Linux 或者我只使用 "fs" 来完成?所以我将打开 cron 作业文件并添加我的命令?
作为 Vixie Cron 一部分的命令 crontab
允许您创建、编辑和删除每个用户的 cron 条目。
或者如果您 运行 作为 root
用户,您不应该 做 ,您可以将 cron 文件放入 /etc/cron.d
这并不总是受支持,如果您 运行 在 Docker 类型的容器环境中,则怀疑您是否有任何 cron。在那种环境中,您希望 运行 Nodejs 为您处理预定的作业。或者使用其他类型的分布式计划工作系统。
您可以将 cron 作业放入 nodejs 脚本。然后可以通过 cronbee 模块通过 API:
添加到 crontabimport { cronbee } from 'cronbee'
await cronbee.ensure({
taskName: 'do smth',
taskRun: `node my-script`,
cron: '42 * * * *'
})
或者您可以通过 CLI 确保 cron 作业,如果该模块是全局安装的或来自 npm 脚本:
$ cronbee ensure mytasks.json