本章主要讲述HttpRunnerManager本地部署
环境:
HttpRunnerManager: 即基于HttpRunner基础上搭建的一个Web版接口自动化测试平台,后端框架用的是Django
原作者在Readme文档里面其实也写的比较详细了,具体可查阅
# cd 到具体目录下
cd E:\HttpRunnerManager-master
# 安装相关依赖包
pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
# 迁移数据库
python manage.py makemigrations ApiManager
python manage.py migrate
# 创建超级管理员
python manage.py createsuperuser
能够正常访问即部署成功
后台管理:http://ip地址:8000/admin/
注册界面:http://ip地址:8000/api/register/
{# <link rel="stylesheet" href="http://cdn.amazeui.org/amazeui/2.7.2/css/amazeui.min.css"/>#}
<link rel="stylesheet" href="http://cdn.bootcss.com/amazeui/2.7.2/css/amazeui.min.css"/>
以上五步完成后,其实基本的功能都可以用了
但是如果要使用HttpRunnerManager的定时任务发送邮件功能,那我们需要进行RabbitMQ消息队列的安装配置
# cd到你自己的本地rabbitmq/sbin目录
cd E:\RabbitMQ Server\rabbitmq_server-3.10.7\sbin
# 安装rabbitmq-plugins
rabbitmq-plugins enable rabbitmq_management
djcelery.setup_loader()
CELERY_ENABLE_UTC = True
CELERY_TIMEZONE = 'Asia/Shanghai'
# BROKER_URL = 'amqp://dev:[email protected]:5672//' if DEBUG else 'amqp://dev:[email protected]:5672//'
# 1、更改为你本地的rabbitmq服务地址
BROKER_URL = 'amqp://guest:guest@127.0.0.1:15672//' # 127.0.0.1即为rabbitmq-server所在服务器ip地址
CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TASK_RESULT_EXPIRES = 7200 # celery任务执行结果的超时时间,
CELERYD_CONCURRENCY = 1 if DEBUG else 10 # celery worker的并发数 也是命令行-c指定的数目 根据服务器配置实际更改 一般25即可
CELERYD_MAX_TASKS_PER_CHILD = 100 # 每个worker执行了多少任务就会死掉,我建议数量可以大一些,比如200
# EMAIL_SEND_USERNAME = '[email protected]' # 定时任务报告发送邮箱,支持163,qq,sina,企业qq邮箱等,注意需要开通smtp服务
# 2、更改为你自己的邮箱及授权码
EMAIL_SEND_USERNAME = '739313988@qq.com' # 定时任务报告发送邮箱,支持163,qq,sina,企业qq邮箱等,注意需要开通smtp服务
EMAIL_SEND_PASSWORD = '授权码' # 邮箱授权码
# 启动worker
python manage.py celery -A HttpRunnerManager worker --loglevel=info
# 启动定时任务监听器
python manage.py celery beat --loglevel=info
# 启动任务监控后台
celery flower
pip install celery==3.1.15
pip install django-celery == 3.2.2
原因:tornado6.1版本太高,需降级兼容
解决:降级tornado
pip install tornado==5.1.1
问题描述: 本地Rabbitmq服务已连接,但是启动worker显示连接不上
原因: celery版本问题导致,RabbitMQ版本与celery版本存在不兼容。目前:rabbitmq:3.10.7 、celery:3.1.15
解决: 可选择降级rabbitmq
rabbit MQ:3.6.10、celery:3.1.26.post2