5

アプリケーションのいくつかのカウンターを処理するセロリサーバーがあります

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ライブラリでは、接続プールを使用できます。モジュールの1つにグローバルにプールを作成し、それをすべての新しい接続に使用するだけです。

于 2012-04-13T03:20:12.800 に答える