NodeJS 如何让js文件在Next.js后端运行?

wkftcu5l  于 2023-03-12  发布在  Node.js
关注(0)|答案(1)|浏览(178)

我在一个文件中有几行代码,用来示例化bullmq的worker,它独立于服务器的其他部分工作,所以Next.js不会运行它,因为它没有被导入到任何地方。
例如,我希望服务器运行的独立文件中包含以下内容。

const emailWorker = new Worker("emailSchedule", emailWorkerJob, {
  connection: redisConfiguration
});

我最终导出了emailWorker并将其导入到某个文件中,该文件由API调用以强制代码运行。

ilmyapht

ilmyapht1#

我可以通过在工作进程中设置autorun: false,然后导出到加载的文件之一并调用emailWorker.run()来修复此问题
emailWorker.js

const emailWorker = new Worker("emailSchedule", emailWorkerJob, {
  connection: <<redis connection>>,
  autorun: false
});

export default emailWorker;

bullmq.js

import emailWorker from "./workers/emailWorker"
...
emailWorker.run()

相关问题