安裝設定RabbitMQ / Celery

2011年11月29日 尚無評論  

安裝RabbitMQ
首先要光安裝erlang-nox

$ sudo apt-get install erlang-nox

下載:rabbitmq-server_2.7.0-1_all.deb

$ wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.7.0/rabbitmq-server_2.7.0-1_all.deb" title="rabbitmq-server_2.7.0-1_all.deb
$ sudo dpkg -i rabbitmq-server_2.7.0-1_all.deb

※ 官方安裝說明:http://www.rabbitmq.com/install-debian.html
執行RabbitMQ

$ sudo update-rc.d rabbitmq-server defaults
$ sudo invoke-rc.d rabbitmq-server stop/start/restart

安裝Celery套件:

$ sudo pip install -E . celery django-celery

產生必要的資料庫table

$ ./manage.py syncdb

測試 celery worker 是否可以正常執行

$ ./manage.py celeryd -l info

設定django環境指定host

# settings.py
import djcelery
djcelery.setup_loader()
INSTALLED_APPS += {'djcelery',}
BROKER_HOST = "127.0.0.1"
CELERY_ALWAYS_EAGER = True
CELERY_SEND_TASK_ERROR_EMAILS = True
CELERY_DISABLE_RATE_LIMITS = True

注意:
若在開發環境或debug時或沒有 rabbitMQ 環境下時,CELERY_ALWAYS_EAGER 可設為 True,這樣在執行時就會直接執行,不會放進 Queue 裡。但是上到正式環境,請設為 False。相關說明在此:http://docs.celeryproject.org/en/latest/configuration.html#celery-always-eager

設定 celery 執行為 daemon:

建立 celery 需要的相關目錄

$ sudo mkdir /var/run/celeryd
$ sudo chown www-data: /var/run/celeryd
$ sudo mkdir /var/log/celeryd
$ sudo chown www-data: /var/log/celeryd

加上 init.d script 以及設定檔:

下載這個celeryd-init.d-script

編輯celeryd-default檔

CELERYD_CHDIR="/var/django/BGM_ENV/svbgm" # 修改為project路徑
CELERYDENV="/var/django/BGM_ENV" # 修改為project路徑

CELERYD="$CELERYDENV/bin/python $CELERYDENV/svbgm/manage.py celeryd"
CELERYD_MULTI="$CELERYDENV/bin/python $CELERYDENV/svbgm/manage.py celeryd_multi"
CELERYD_USER="www-data"
CELERYD_GROUP="www-data" 

CELERYD_LOG_FILE="/var/log/celeryd/%n.log"
CELERYD_PID_FILE="/var/run/celeryd/%n.pid" 

export DJANGO_SETTINGS_MODULE="settings"

放置script及default

$ sudo mv celeryd-init.d-script /etc/init.d/celeryd
$ sudo chmod +x /etc/init.d/celeryd
$ sudo mv celeryd-default /etc/default/celeryd

重啟celeryd

$ sudo /etc/init.d/celeryd restart

查看log(/var/log/celeryd/celery.log)要是沒有錯誤就可以了

Categories: uBuntu Tags: , ,

Django aggregation tutorial

2011年11月24日 尚無評論  

之前搞不太懂Django的Group by來求Sum, Count之類的

後來看了這篇就清楚多了

 

Django aggregation tutorial

 

Categories: Python, 程式設計 Tags:

Navicat 8 for MySQL的connections儲存位置(備份用)

2011年11月23日 尚無評論  

來筆記一下Navicat 8 for Mysql 把connections存放的位置

 

HKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Servers
Categories: 軟體使用 Tags:

Putty的Session儲存位置(備份用)

2011年11月23日 尚無評論  

來筆記一下Putty把session存放的位置

 

HKEY_CURRENT_USER\Software\SimonTatham

 

Categories: 軟體使用 Tags:

[轉載] Python datetime / time conversions

2011年11月22日 尚無評論  

有關python對日期/時間的轉換,找到一個文章~~~~筆記!!!

來源:Python datetime / time conversions

閱讀全文…

Categories: Python, 程式設計 Tags: