certichain_backend:
depends_on:
- rabbitmq
working_dir: /app/backend/src
command: sh sleep 20 & nohup node /app/backend/src/services/amqp_consumer.js && npm run start;
rabbitmq:
image: "rabbitmq:3-management"
hostname: "rabbitmq"
restart: always
expose:
- 15672
- 5672
labels:
NAME: "rabbitmq"
volumes:
- ./rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
这种方法很不一致。我肯定这不是实现这一点的正确方法。
在您的nodejs代码中,如果rabbitmq容器无法访问,您可以添加一个特性来终止退出1的进程。
rabbitmq.connect('rabbitmq://guest:guest@rabbitmq',{})
.then(function(connection){
console.log('Rabbitmq connection established');
// other code here
})
.catch(function(errror) {
console.error('%s while dialing rabbitmq', error.message);
process.exit(1);
});
在docker-compose文件中,您可以添加restart:on-failure
,因此,如果rabbitmq容器尚未启动,nodejs应用程序将无法启动,并重新启动,直到rabbitmq容器就绪。
将rabbitmq连接建立作为nodejs应用程序的第一个操作之一是值得的--因此,如果没有rabbitmq,什么都不会启动。
我有一个PHP应用程序,使用RabbitMQ。为了实现冗余,我创建了一对RabbitMQ服务器,并将它们连接到一个集群中。我也有一个VyOS故障转移群集运行HAProxy负载平衡连接,并在故障转移的情况下提供重新路由。 昨天,我们的VyOS集群决定需要故障转移(可能是短暂的网络中断)。在一个VyOS上停止了HA代理,虚拟IP被移动,并在另一个节点上重新启动HA代理。 之后,我查看了Rabbit中的
我在可靠性模式中使用AMQP,我的用例是将消息放入队列中,然后消费它们并将信息插入web服务中。我的web服务很慢,我的队列可能有很多很多消息,我希望确保消费者不会杀死我的数据库。 在RabbitMQ中是否有一种内建的方式来执行节流,或者是基于时间的(每分钟/秒/小时仅有X条消息),或者是某种其他机制?
问题内容: 我需要在docker容器中同时使用java和python来运行一些代码。 这是我的dockerfile:如果我不添加 FROM openjdk:slim,* 它将正常运行 * test.py应用程序位于同一目录中: 我收到此错误: 我到底在做什么错?我是Docker的新手,也许我错过了一步。 额外细节 我的目标 我必须运行一个运行Java文件的python程序。我正在使用的python
问题内容: 在互联网上其他任何地方都找不到有效的答案后,我将提交此“自问自答”教程 如何从脚本上运行一个简单的进程?我的代码在本地计算机上运行良好,但是尝试在Lambda上运行时遇到了其他问题。 问题答案: 这是一个简单过程的完整代码示例,以形式启动 。 它也可以在github上找到。 index.js phantom-script.js 要获取可与Amazon Linux机器一起使用的Phant
我有一个docker映像,它有所有需要的文件,当我说docker运行时,我希望它将docker映像中的文件夹的内容复制到主机目录。之后不再需要docker并停止
可以使用atom nodejs安装运行nodejs脚本吗? 例如,我使用以下命令行运行脚本: 我想知道是否有一种方法可以做到这一点,而无需单独安装nodejs。