在Amazon Elastic Beanstalkd上部署Java脚本Cron作业和队列

时间:2019-03-10 05:59:37

标签: javascript node.js amazon-web-services devops amazon-elastic-beanstalk

我有一个 Amazon Elastic Beanstalk 应用程序,当前正在运行我的 NODE.JS 应用程序。

我用 kue.js 创建了一些队列,并用 node-schedule 创建了Crons。

由于我有许多命令来运行队列和队列,所以我发现不可能将其放置在当前的nodejs应用中。

我愿意打开一个新的应用程序,唯一的问题是我只能运行一个命令。

我真的不想打开单独的ec2(未连接到我的Elastic Beanstalk服务)来运行所有这些。

该如何解决?

非常感谢您!

1 个答案:

答案 0 :(得分:0)

当您要使用EB(Elastic Beanstalk)时,您可以为该应用程序编写一个docker文件,而EB将已经检测到该文件,并询问您这是否是基于docker的项目,其余的将由您来处理,您只需要编写如下所示的入口点命令CMD npm start之前需要运行的所有脚本

Dockerfile

FROM node:10.13-alpine
# Sets the working directory,and creates the directory as well.
WORKDIR /app
# Install dependencies.
ADD package.json .
RUN npm install
# Copy your source code.
COPY . /app

#Run all your scripts here or simply put them to a scripts.js and run it
RUN node scripts.js

# start app
CMD ["npm", "start"]