亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

在 django 項目之外使用 django 項目的配置 settings 信息

劉玉平 / 2645人閱讀

摘要:簡介最近在工作中使用和來實現(xiàn)開發(fā)功能,其中使用到作為。實現(xiàn)功能如下方法將數(shù)據(jù)發(fā)送到服務(wù)器,通過寫入指定的后臺多帶帶啟動進程產(chǎn)生消費者將的數(shù)據(jù)寫入到此處的進程使用一個多帶帶的文件實現(xiàn),此時需要配置中使用的配置信息,包括一些其他的配置信息。

簡介

最近在工作中使用 Djangodjango-rest-framework 來實現(xiàn) API 開發(fā)功能,其中使用到 kafka 作為broker。

實現(xiàn)功能如下:

POST 方法將數(shù)據(jù)發(fā)送到服務(wù)器,通過kafka寫入指定的 topic;

后臺多帶帶啟動進程產(chǎn)生 消費者broker 的數(shù)據(jù)寫入到 MySQL

此處的進程使用一個多帶帶的 python 文件實現(xiàn),此時需要配置中使用 django orm 的配置信息,包括一些其他的配置信息。

方法一

其實這些信息也可以使用包含上下文信息的工具:

python manage.py shell

此處特別推薦神器 ipython 安裝如下:

pip install ipython 

如果在這個交互環(huán)境中,可以享用一切 django 的配置,我一般常用于測試 djangomodel。

凡是都有個但是,但是我們還有 方法二。(都看到這里了,就忍忍看完)

方法二

方法一 中很方便,但是使用起來只能在指定的交互環(huán)境中使用,不夠靈活。

【我想要實現(xiàn)的是】:我在任意位置的代碼、腳本中都可以很爽的使用 django 的配置

代碼如下:

import os,threading
import sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.extend([BASE_DIR,])
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "jrjidfa.settings")

import django

django.setup()
from idfacollect.kafka_utils import Utils as kfk
from idfacollect.kafka_utils import Config as cfg


class Consumer(threading.Thread):
    def run(self):
        kfk.consume_to_mysql(host=cfg.KFK_HOST,
                             port=cfg.KFK_PORT,
                             topic=cfg.KFK_TOPIC_IDFA_DEVICE_STARTUP,
                             group_id=cfg.KFK_GP_TO_MYSQL)

        kfk.consume_to_mysql(host=cfg.KFK_HOST,
                             port=cfg.KFK_PORT,
                             topic=cfg.KFK_TOPIC_IDFA_APP_CLICK,
                             group_id=cfg.KFK_GP_TO_MYSQL)


if __name__ == "__main__":
    try:
        for i in range(5): # create 5 thread  exectue Consumer
            t = Consumer()
            t.start()
    except Exception as e:
        print e

說明一下:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 這個是想要使用的 `django` 工程的根目錄;


sys.path.extend([BASE_DIR,])
# 將項目根目錄加入到 python 搜索的 path 中


os.environ.setdefault("DJANGO_SETTINGS_MODULE", "jrjidfa.settings")
# 設(shè)置環(huán)境變量中的 DJANGO_SETTINGS_MODULE 設(shè)置為 django 配置


import django
django.setup()
# 啟動 django 配置、注冊 app 等等初始化操作

總結(jié):接下來就可以愉快的使用了,看上面代碼就知道真的很愉快。

以上です!ありがとうございました

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/38302.html

Failed to recv the data from server completely (SIZE:0/8, REASON:closed)