我们在提供了Cloudfoundry实例的Swisscom上部署了一个Symfony应用程序。此外,我们正在使用Swisscom提供的Redis服务进行缓存。
现在发生了两次,我们得到了Redis连接的超时,这会导致应用程序失败:
Redis连接失败(连接()失败:连接超时):redis://password@domain.service.conconsule:47133
一些技术资料:
对于缓存,config.yml
看起来是这样的:
framework:
cache:
system: cache.adapter.apcu
default_redis_provider: redis://%redis_password%@%redis_host%:%redis_port%
pools:
redis_pool:
adapter: cache.adapter.redis
public: true
default_lifetime: 0
provider: cache.default_redis_provider
并用作此处定义的服务:
tag_aware_cache:
class: Symfony\Component\Cache\Adapter\TagAwareAdapter
arguments: [ '@redis_pool' ]
据我所知,我们没有使用任何与Redis的持久连接,它通常运行良好。
到目前为止,我找到的唯一使应用程序恢复到稳定和运行状态的解决方案是重新部署整个应用程序,这实际上不是一个好的解决方案。
尤其是我不明白什么是根本原因。我如何才能自己检查这一点,Swisscom是否确信Redis服务本身运行完全稳定?
发布于 2017-10-16 06:17:06
当使用'cf‘到您的应用程序时,您可以直接访问该服务。关于如何使用'cf‘访问服务的完整过程在Swisscoms文档:https://docs.developer.swisscom.com/devguide/deploy-apps/ssh-apps.html中进行了描述。
您的应用程序应该能够自行处理连接问题。通常,简单的重试可以防止应用程序崩溃。
https://stackoverflow.com/questions/46770530
复制相似问题