Google cloud platform 在云运行中运行RabbitMQ时出错->;未捕获信号:10,pid=418,tid=418,故障地址=0

Google cloud platform 在云运行中运行RabbitMQ时出错->;未捕获信号:10,pid=418,tid=418,故障地址=0,google-cloud-platform,rabbitmq,google-cloud-run,dramatiq,Google Cloud Platform,Rabbitmq,Google Cloud Run,Dramatiq,我正在尝试部署一个带有dramatiq和RabbitMQ的Web服务器,但RabbitMQ似乎无法在云运行中启动 我看到的错误消息有: 未捕获信号:10,pid=418,tid=418,故障地址=0 还有许多例子: 容器沙盒:不支持的系统调用getsockopt(0x44,0x1,0xc,0x3e18e39fc540,0x3e18e39fc548,0x0) 我用了4GB的内存,所以我觉得应该足够了。同样重要的是:容器确实在本地运行。有什么想法吗?您的容器在sandox(GVisor)中运行,它可

我正在尝试部署一个带有dramatiq和RabbitMQ的Web服务器,但RabbitMQ似乎无法在云运行中启动

我看到的错误消息有:

未捕获信号:10,pid=418,tid=418,故障地址=0

还有许多例子:

容器沙盒:不支持的系统调用getsockopt(0x44,0x1,0xc,0x3e18e39fc540,0x3e18e39fc548,0x0)


我用了4GB的内存,所以我觉得应该足够了。同样重要的是:容器确实在本地运行。有什么想法吗?

您的容器在sandox(GVisor)中运行,它可以防止一些危险或异常的系统调用或CPU指令。尝试更改RabbitMQ客户端以检查是否更好

除此之外,我还有两点意见:

  • 请记住,Cloud Run不能在与RabbitMQ的后台连接中运行并使用消息。CPU允许您的实例正在处理一个请求;否则,CPU会受到限制(约为CPU功率的5%)。我不确定Cloud Run是否是使用Rabbit MQ的最佳平台(如果您需要始终保持连接)
  • 一个新的沙箱在管道中。我不知道这是否能解决你的问题。请继续收看

尝试更改RabbitMQ客户端以检查其是否更好。
RabbitMQ客户端不执行任何低级操作(它是一个Python程序)
除了这个答案,我还有两点意见:
谢谢!实际上并不需要到RabbitMQ的持久连接。如果它还没有运行,我可以尝试继续重新连接。服务器不应该处理大量请求,因此我认为这没有问题。但是,如果RabbitMQ服务器导致危险的操作系统调用,我可能不得不使用云运行以外的其他方法。Python代码通常使用C库来加快处理速度(Python并不是一种真正有效的编程语言)。这些C库可以执行禁止的调用。不是特别危险,但是沙箱阻止了这些可能导致问题的调用。许多图书馆都退后使用另一种效率较低的方法。这似乎不是你的情况,这就是为什么使用另一个客户端可以解决这个问题。也许某个库确实做了一些低级的事情。最后,我用了GCE,效果很好。非常感谢。