python动态添加定时任务_django-celery动态添加定时任务

为了使用celery替代crontab并做到实时添加定时任务的效果,需要使用django-celery,效果如下图,

d5ae43d2cb0364a684729c92f7614da0.png

7429142.html

要使用django-celery,需要安装python的以下包:django,celery,django-celery。其中django安装比较麻烦,首先它和python版本相关,django1.7.9和1.8.3都是支持python 2.7,所以打算安装这俩版本中其一;其次,django需要sqlite2或sqlite3的支持,而python 2.7中sqlite是已经包含在内、却没有编译的,因此先要安装sqlite、然后重新安装python 2.7。整个开发环境安装和配置如下

一. 环境配置

tar -xzvf sqlite-autoconf-3081002.tar.gz

./configure --prefix=/home/panxiaofeng/install  #指定安装目录

make

make install

接着重新安装python 2.7,首先,

tar -zxf Python-2.7.9.tgz

cd ~/tools/Python-2.7.9

修改setup.py,

sqlite_inc_paths = [ ‘/usr/include‘,

‘/usr/include/sqlite‘,

‘/usr/include/sqlite3‘,

‘/usr/local/include‘,

‘/usr/local/include/sqlite‘,

‘/usr/local/include/sqlite3‘,

‘~/install/include‘,

‘~/install/include/sqlite3‘,

]

也就是加上sqlite3的路径,然后,

./configure --prefix=/home/panxiaofeng/install/ && make -j4 && make install  #4核并行编译

ln -s ~/install/bin/python ~/bin/python

完成。

测试安装成功否,

~/bin/python

>>>import sqlite3

>>>

没报错即可。

配置python开发环境,不仅要安装python 2.7,还需要安装一些工具,

unzip setuptools-12.0.3.zip 2>/dev/null 1>/dev/null

cd ~/tools/setuptools-12.0.3

~/bin/python setup.py build install  #用哪个python来安装包,包就会安装到哪个python的目录下,其他版本的python无法使用该包

tar -zxf pip-6.0.6.tar.gz

cd ~/tools/pip-6.0.6

~/bin/python setup.py build install

ln -s ~/install/bin/pip ~/bin/pip

其中pip工具用来安装python包很方便,但是默认的源下载很慢经常超时,需要采用一些方法加速,具体可以参考http://blog.csdn.net/sasoritattoo/article/details/10020547 。本文安装加速的手段采用了最简单的换源:

sudo ~/bin/pip install -i http://pypi.douban.com/simple django,用豆瓣的源,暴快!注意,用哪个python安装的pip工具来安装包,包就会安装到哪个python的目录下,其他版本的python无法使用该包。然后,celery和django-celery也采用该源来安装,快得很,不像之前用默认的源,很卡很慢还经常失败。

记录一下,之前也手动安装过Django,手动安装唯一需要注意的一点就是sudo python setup.py时搞清楚你用的是哪个版本的python,不要搞错版本了,如果默认的python不能用,就自己指定,比如,sudo /usr/local/bin/python2.7 setup.py install。还有手动安装比较利于卸载包:

setup.py 帮助你纪录安装细节方便你卸载

python setup.py install --record log

这时所有的安装细节都写到 log 里了

想要卸载的时候

cat log | xargs rm -rf

就可以干净卸载了

最后记录下解决pip下载失败的一些可能有用的方法:

出现Bad md5 hash for package https://here/package/path错误时,尝试,

1. You can use wheels for installing python packages: pip install wheel. Then t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值