django使用celery做异步执行过程

执行过程持续返回

简要

1. 挑用插件:
    django-celery  jenkins
2. 基于Python版本:
    Python2.7
3. 基于django版本:
    django1.8.18

主要问题:

需要把jenkins代码发布的执行过程持续输出,后台执行完成后消息数据返回到前台。

解决方案:

使用django-celery的异步执行操作,把异步执行的数据返回到rabbitmq,从rabbitmq读取数据写入数据库,页面中返回数据库的信息,页面使用定时器,当返回结果不为失败或者成功时,5秒刷新页面,读取最新的操作内容。

具体代码如下:

1. django setting.py配置:

    djcelery.setup_loader()
    BROKER_URL = 'amqp://guest:guest@localhost:5672//'
    BROKER_POOL_LIMIT = 0
    #CELERY_TASK_SERIALIZER = 'json'                    (由于设置Json以后输入也必须要使用Json格式,暂时未启用)
    #CELERY_RESULT_SERIALIZER = 'json'
    CELERY_ENABLE_UTC = True
    CELERY_RESULT_BACKEND= 'amqp'

    INSTALLED_APPS = (
    'djcelery',
    'app',
    )

2. django celery.py配置:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-

    from __future__ import absolute_import
    import os
    from celery import Celery
    from django.conf import settings
    from app.backend.tasks import *
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'CMDB.settings')

    app = Celery('CMDB')

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

3. app view配置:

    def job_release(request):
        if request.method == 'GET'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值