[英]Using cassandra as celery result backend
我正在嘗試使用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
如何檢索存儲的實際數據? 提前致謝..
創建ColumnFamily(又名表)時,將KeyValidation和ColumnValidation定義為UTF8Type。 然后使用pycassa讀取它,應該沒問題。 默認情況下,Cassandra用二進制存儲事物。 根據表定義,翻譯由查詢界面進行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.