Python 如何在Django应用程序中运行芹菜和redis

Python 如何在Django应用程序中运行芹菜和redis,python,django,oracle,Python,Django,Oracle,我对django应用程序有一个问题,它通过芹菜任务和redis执行存储过程(oracle数据库)。该应用程序在linux服务器上运行,但这次失败,然后我使用python manage.py runserver提升了该应用程序,但我不知道如何处理芹菜用来运行调用存储过程的任务的部分 这里有个风景 @csrf_exempt @login_required(login_url='/login/') def DynamicView(request): idc = request.GET.get('

我对django应用程序有一个问题,它通过芹菜任务和redis执行存储过程(oracle数据库)。该应用程序在linux服务器上运行,但这次失败,然后我使用python manage.py runserver提升了该应用程序,但我不知道如何处理芹菜用来运行调用存储过程的任务的部分

这里有个风景

@csrf_exempt
@login_required(login_url='/login/')
def DynamicView(request):
   idc = request.GET.get('idc')
   idpl = request.GET.get('idpl')
   if request.method == 'POST':
      usuario = request.user
      rpost = request.POST
      form = DynamicForm(idpl,idc, request.POST)
      idc= request.POST.get('idcontrol')
      idpl= request.POST.get('idpl')
      if form.is_valid():
        pl_ejecutar = BuildPl(idpl,idc,usuario,rpost)
        mensaje = pl_ejecutar
        dynamicExec.delay(pl_ejecutar,idc,idpl)

      nom_control = BuscarControl(idc)
      nom_pl = BuscarControlPl(idpl)
      usu = User.objects.get(username=usuario)
      nombre_usu = usu.username 
      accion = 'Se ha ejecutado el Pl: ' \
                  + nom_pl + '. Para el Control: ' \
                  + nom_control + '. Por: ' + nombre_usu

      RegistroAcciones(usuario,accion)  

      return HttpResponseRedirect('/monitor/')   
这里有一项任务

@task(queue='ds')
def dynamicExec(pl,pidc,pidpl):
    runpl = EjecutarPl()
    spe = runpl.ejecuta(pl,pidc,pidpl)
    return none
这里是调用de-store过程的模型

class EjecutarPl():
   def ejecuta(self, plv,idcv,idplv):
      cursor = connection.cursor()
      query = "begin cbs_django.ejecutar_pl_v2(:ppl,:pidc,:pidpl); end; "
      param = {"ppl":plv,"pidc":idcv,"pidpl":idplv}
      spexec = cursor.execute(query,param)
      cursor.close()
      return spexec

我没有使用芹菜和redis的经验,因此如果有人能帮助我,我将不胜感激。

等等,您是否在生产中使用
python manage.py runserver
?您的问题也不清楚。你到底有什么问题?你说的“芹菜用来运行调用存储过程的任务的部分”是什么意思?嗨,谢谢你回答我。我想说的是,应用程序使用芹菜和redis在后台运行任务,任务从数据库调用一些存储过程。该应用程序在linux服务器上运行,因此当服务器崩溃时,我重新启动了该应用程序,直到那时还没有出现问题,但当我尝试在应用程序中执行一些报告时,什么都没有发生,然后我发现我必须运行芹菜或redis,这部分让我感到困惑。这些是task@task(queue='ds')def Matar_task(vsid,vserial):killdb=Matar_session()spk=killdb.mata(vsid,vserial)return None@task(queue='ds')def Correr_task(vsid,vserial):rundb=Correr()spr=rundb.plsql(vsid,vserial)return None我正在尝试执行此芹菜多启动-一个xmlcbs ds-c:ds 3,然后。/manage.py celeryd但不起作用