我在带有RedisToGo Nano插件的Heroku上使用celerybeat
有一个Web dyno和一个worker dyno
celerybeat工作者设置为每分钟执行一次任务。
问题是:每当我部署新的提交时,dynos重新启动,并且出现此错误
2014-02-27T13:19:31.552352+00:00 app[worker.1]: Traceback (most recent call last):
2014-02-27T13:19:31.552352+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/celery/worker/consumer.py", line 389, in start
2014-02-27T13:19:31.552352+00:00 app[worker.1]: self.reset_connection()
2014-02-27T13:19:31.552352+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/celery/worker/consumer.py", line 727, in reset_connection
2014-02-27T13:19:31.552352+00:00 app[worker.1]: self.connection = self._open_connection()
2014-02-27T13:19:31.552352+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/celery/worker/consumer.py", line 792, in _open_connection
2014-02-27T13:19:31.552352+00:00 app[worker.1]: callback=self.maybe_shutdown)
2014-02-27T13:18:23.864287+00:00 app[worker.1]: self.on_connect()
2014-02-27T13:18:23.864287+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/redis/connection.py", line 263, in on_connect
2014-02-27T13:18:23.864287+00:00 app[worker.1]: if nativestr(self.read_response()) != 'OK':
2014-02-27T13:18:23.864287+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/redis/connection.py", line 314, in read_response
2014-02-27T13:18:23.864287+00:00 app[worker.1]: raise response
2014-02-27T13:18:23.864287+00:00 app[worker.1]: ResponseError: max number of clients reached
2014-02-27T13:19:31.552352+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/kombu/connection.py", line 272, in ensure_connection
2014-02-27T13:19:31.552352+00:00 app[worker.1]: interval_start, interval_step, interval_max, callback)
2014-02-27T13:19:31.552591+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/kombu/utils/__init__.py", line 218, in retry_over_time
2014-02-27T13:19:31.552591+00:00 app[worker.1]: return fun(*args, **kwargs)
2014-02-27T13:19:31.552591+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/kombu/connection.py", line 162, in connect
2014-02-27T13:19:31.552591+00:00 app[worker.1]: return self.connection
2014-02-27T13:19:31.552591+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/kombu/connection.py", line 617, in connection
2014-02-27T13:18:23.870811+00:00 app[worker.1]: [2014-02-27 13:18:23,870: ERROR/MainProcess] consumer: Connection to broker lost. Trying to re-establish the connection...
那些日志不断地继续下去。直到我停止两个测功机并重新启动它们。
这已经成为一个问题,因为它几乎在每次部署新提交时都会发生。
有什么想法为什么会发生以及如何解决呢?
纳米redistogo计划将同时进行的redis连接限制为 10 。
使用的redis连接数将根据您的前端和celery worker设置而有所不同。听起来您正在为生产堆栈使用 > = 5 redis连接。
部署新代码时,Heroku会启动一个全新的堆栈。这意味着您在部署时正在使用 > = 10 redis连接。
有两种方法可以解决此问题:
这是资源枯竭的简单问题。我只需要支付更大的RedisToGo计划。
问题内容: 我正在使用Spring Boot应用程序开发应用程序服务器,但是现在我想知道Spring中默认的最大(客户端请求)线程池大小是多少,如何定制该值? 问题答案: 本文向大家介绍Spring的最大(客户端请求)线程池大小相关面试题,主要包含被问及Spring的最大(客户端请求)线程池大小时的应答技巧和注意事项,需要的朋友参考一下 假设您使用的是嵌入式,使用该属性来控制客户端请求线程池的大小
我将JBoss EAP 6.3应用服务器与JDG 6.3.1(使用Infinispan 6.1.2)结合使用,这两个实例都运行在同一个虚拟机上,连接协议是Hot Rod。 如果由于任何原因无法访问JDG,我希望EAP上EJB应用程序中使用的Hot Rod客户端捕捉HotRodClientException,并直接继续进行数据库调用。这可以正常工作,但RemoteCacheManager中的重试次数
我正在使用spring boot app开发应用服务器,但现在我想知道spring中默认的最大(客户端请求)线程池大小是多少,以及如何自定义该值?
解决了 我想问用户他想输入多少个整数,然后读取所有数字,同时跟踪他们输入的最大和最小数字。然后打印最大和最小数字。 我正在考虑将最大值和最小值设置为第一个输入的数字,然后在for循环中读取下一个数字,并使用更大/更小的数字更改最大值和最低值。但是,它只打印用户输入的第一个数字。有人能帮我吗?非常感谢。 代码:
假设您给出了一个大小为N的数组,它可以有正数和负数。我们需要返回总和的最大子数组的长度等于k。我尝试使用滑动窗口算法,但很快我发现它在这里不起作用,因为数组元素可以有正负整数。 例如: arr=[-20,-38,-4,-7,10,4]和k = 3很明显,有两个可能的子阵列([-4,-7,10,4]和[-7,10]),它们的和等于给定的k。因此输出将是4(最大子阵列的长度) 蛮力方法将采取O(n^2
我试图在一个数组中找到具有最大和的邻接子数组。所以,对于数组 {5,15,-30,10,-5,40,10}