1,生产的NGINX环境,要指定自己的目录,而不是PROJ默认的。

upstream ism_host {
    server ;
}

server {
        listen       ;
        server_name  localhost;

        location / {
            include  uwsgi_params;
            uwsgi_pass  ism_host;
            uwsgi_param UWSGI_SCRIPT settings.wsgi;//自己生产的WSGI文件
            uwsgi_param UWSGI_CHDIR /ism/ism;
            index  index.html index.htm;
            client_max_body_size 35m;
            uwsgi_connect_timeout ;
           #uwsgi_write_timeout ;
            uwsgi_read_timeout ;
        }
        location ^~ /static {
                root /ism/ism;
        }
    }

2,DJANGO的WSGI.PY有两套,生产的也要指向自己的SETTINGS文件。

"""
WSGI config for ism project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/
"""

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings.prd_settings")//指向自己生产的配置文件路径

application = get_wsgi_application()

3,SUPERVISORD的配置文件,也要改成自己的SETTING文件。

[program:celeryd]
command=/usr/local/python27/bin/celery worker --app=settings -c  -l info //注意--app指向生产的配置文件目录
stdout_logfile=/var/log/celeryd.log
stderr_logfile=/var/log/celeryd.log
autostart=true
autorestart=true
startsecs=
stopwaitsecs=

4,配置文件路径下的CELERY.PY文件,也要更新成自己的配置路径。

from __future__ import absolute_import

import os
from celery import Celery
from django.conf import settings

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings.prd_settings') //此处也是生产的配置目录及文件

app = Celery('ism')

app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)

@app.task(bind=True)
def debug_task(self):
    print('Request: {0!r}'.format(self.request))

6,settings文件里的数据库连接串,REDIS等,当然也需要分开,不再说配置了。

这样一来,不在同的环境下使用@celery_app.task时,NGINX提供服务器时,SUPERVISORD定位时,自己本地调试时,才不会出问题。

SO:

建立生产和测试的目录彻底分开,互不影响。各自己建立一套配置文件。

独立两套DJANGO+CELERY配置(生产+测试)时要注意的一些细节的更多相关文章

  1. django celery redis简单测试

    希望在下一版中,能用这个小芹菜,来实现异步的多任务并行哈. 安装REDIS之类的不表,只说在DJANGO当中要注意配置的事项. 0,安装插件 yum install redis-server pip ...

  2. django安装配置及测试

    django安装之前我们假设你已经安装了python,和mysql(不是必须的):(如果没有google一下挺简单不介绍了)下面直接介绍django的安装配置:到下面连接可以下载www.djangop ...

  3. 配置SSD-caffe测试时出现“Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal”解决方案

    这是由于GPU数量不匹配造成的,如果训练自己的数据,那么我们只需要将solver.prototxt文件中的device_id项改为自己的GPU块数,一块就是0,两块就是1,以此类推. 但是SSD配置时 ...

  4. django celery redis 定时任务

    0.目的 在开发项目中,经常有一些操作时间比较长(生产环境中超过了nginx的timeout时间),或者是间隔一段时间就要执行的任务. 在这种情况下,使用celery就是一个很好的选择.   cele ...

  5. django+celery+redis实现运行定时任务

    0.目的 在开发项目中,经常有一些操作时间比较长(生产环境中超过了nginx的timeout时间),或者是间隔一段时间就要执行的任务. 在这种情况下,使用celery就是一个很好的选择.   cele ...

  6. 基于Django+celery二次开发动态配置定时任务 ( 一 )

    需求: 前端时间由于开发新上线一大批系统,上完之后没有配套的报表系统.监控,于是乎开发.测试.产品.运营.业务部.财务等等各个部门就跟那饥渴的饿狼一样需要 各种各样的系统数据满足他们.刚开始一天一个还 ...

  7. 配置Django框架为生产环境的注意事项(DEBUG=False)

    问题描述: Django1.10版本中框架中settings.py配置文件 配置文件settings.py配置了下面两项: DEBUG= False ALLOWED_HOSTS = ['*'] #这样 ...

  8. 基于Django+celery二次开发动态配置定时任务 ( 二)

    一.需求 结合上一篇,使用djcelery模块开发定时任务时,定时任务的参数都保存在djcelery_periodictask表的args.kwargs字段里,并且是json格式.那么,当定时任务多了 ...

  9. MAC中如何配置两套android-sdk环境

    1 背景介绍 随着android studio的完善和普及,越来越多Android app开发者从Eclipse+ADT环境转到Android Studio(后文统一用AS表示).但是,AS往往需要较 ...

随机推荐

  1. 读jQuery官方文档:jQuery对象

    jQuery对象 当用$符号包裹一个CSS风格选择器的时候,你得到一个jQuery对象. var heading = $('h1'); jQuery对象是对DOM ELement封装过后的数组.注意, ...

  2. 分析Redis架构设计

    http://blog.csdn.net/a600423444/article/details/8944601 一.前言 因为近期项目中开始使用Redis,为了更好的理解Redis并应用在适合的业务场 ...

  3. hhgis驱动

    function loadPathInfo 在car.js中 function loadPathInfo(carid, fnClass) { var qureydrive; if (jsonp) qu ...

  4. java 注解Annotation

    什么是注解?  注解,顾名思义,注解,就是对某一事物进行添加注释说明,会存放一些信息,这些信息可能对以后某个时段来说是很有用处的. java注解又叫java标注,java提供了一套机制,使得我们可以对 ...

  5. ### 学习《C++ Primer》- 7

    Part 7: 重载运算与类型转换(第14章) // @author: gr // @date: 2015-01-08 // @email: forgerui@gmail.com 一.重载运算符要求 ...

  6. .net链接Oracle数据操作类库

    public abstract class OracleHelper { public OracleHelper() { } /// <summary> /// 数据库连接字符串 /// ...

  7. JavaScript基础-面向对象编程<2>

    2.动态添加,修改和删除对象属性和方法 例如:用类Object()创建一个空对象user,然后修改其行为. (1) 添加属性 var user=new Object(); //创建一个没有属性和方法的 ...

  8. Eclipse修改java代码后自动重启Tomcat解决办法

    今天甚是郁闷,项目马上要上线了,早上刚到公司打开MyEclipse 10.07提示过期提示,这对于用惯了破解软件的帝国用户的我原本以为小菜一碟. 于是到网上到处找破解软件,不用多长时间,Ok 破解成功 ...

  9. 方法 :PHP开发环境搭建(phpstorm + xampp+mongodb)

    phpstorm 安装下载       百度网盘资源 phpstorm 9.0.1(有序列号)   http://pan.baidu.com/s/1kTvX0jl xampp 安装下载         ...

  10. 一种c#深拷贝方式完胜java深拷贝(实现上的对比)

    楼主是一名asp.net攻城狮,最近经常跑java组客串帮忙开发,所以最近对java的一些基础知识特别上心.却遇到需要将一个对象深拷贝出来做其他事情,而原对象保持原有状态的情况.(实在是不想自己new ...