我该如何处理芹菜任务中的redis连接?

arm*_*nge 5 redis 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)
Run Code Online (Sandbox Code Playgroud)

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

我正在运行最新的django-celery

ilv*_*var 1

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