【问题标题】:Using cassandra as celery result backend使用 cassandra 作为 celery 结果后端
【发布时间】:2014-02-27 08:44:20
【问题描述】:

我正在尝试使用 cassandra 作为结果后端。这里是 celery 应用程序:

from __future__ import absolute_import
from celery import Celery

app = Celery('proj',
        broker='amqp://',
        backend='cassandra',
        include=['proj.tasks'])

# Optional configuration, see the application user guide.
app.conf.update(
    CASSANDRA_SERVERS = ["localhost:9160"],
    CASSANDRA_KEYSPACE = "celery",
    CASSANDRA_COLUMN_FAMILY = "tasks_result",
    CASSANDRA_READ_CONSISTENCY = "ONE",
    CASSANDRA_WRITE_CONSISTENCY = "ONE",
    CASSANDRA_OPTIONS = { 
        'timeout': 10, 
        'max_retries': 1
    }   
    )   

if __name__ == '__main__':
    app.start()

由于 celery 的 cassandra 后端使用 pycassa,我使用 pycassaShell 创建了键空间 - 'celery' 和表 - 'tasks_result'。问题是存储在“tasks_result”表中的结果具有十六进制值,如下所示:

 key                                                                        | column1   | value
----------------------------------------------------------------------------+-----------+--------------------------------------------
 0x65333336633966622d323937612d346535612d613164352d353333613765663962613663 |  0x6368696c6472656e |                             0x80025d71012e
 0x65333336633966622d323937612d346535612d613164352d353333613765663962613663 | 0x646174655f646f6e65 | 0x323031342d30322d32355431363a30343a34355a
 0x65333336633966622d323937612d346535612d613164352d353333613765663962613663 |    0x726573756c74 |                               0x80024b092e
 0x65333336633966622d323937612d346535612d613164352d353333613765663962613663 |    0x737461747573 |                           0x53554343455353
 0x65333336633966622d323937612d346535612d613164352d353333613765663962613663 | 0x74726163656261636b |                                 0x80024e2e

如何检索存储的实际数据?提前谢谢..

【问题讨论】:

  • 下面的输出来自cqlsh对吧?

标签: python cassandra celery


【解决方案1】:

当您创建 ColumnFamily(又名表)时,将 KeyValidation 和 ColumnValidation 定义为 UTF8Type。然后使用 pycassa 读取它应该没问题。默认情况下,Cassandra 以二进制形式存储内容。根据表定义,翻译由查询接口进行。

【讨论】:

    猜你喜欢
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 2018-09-11
    • 1970-01-01
    • 2012-01-15
    • 2017-04-10
    相关资源
    最近更新 更多