5

我有一个 celery 服务器来处理我的应用程序的一些计数器

class IncrementStatsCounterTask(Task):
    def run(self, count, shortcode, stat_type, operator_id, date,  **kwargs):
        r_server = redis.Redis(settings.REDIS_HOST)
        key = key_mask % {
            'shortcode': shortcode,
            'stat_type': stat_type,
            'operator_id': operator_id,
            'date': date.strftime('%Y%m%d')
        }

        return key, r_server.incr(key, count)

这一切都很好,但是每次我的任务运行时都会打开和关闭redis连接。有没有更好的方法来处理连接?也许有某种持久连接?

我正在运行最新的 django-celery

4

1 回答 1

1

python redis 库中,您可以使用连接池。只需在您的一个模块中全局创建一个池,并将其用于每个新连接。

于 2012-04-13T03:20:12.800 回答