iis部署django框架,使用celery无命令窗口运行

有两种方法,一种是vbs文件,一种是直接用bat文件

  1. vbs文件,网上说可以,但是我试了没成功
     
    Set ws = CreateObject("Wscript.Shell")
    
    ws.run "cmd /c 批处理程序名",vbhide
    这里的“批处理程序名”就是下面bat文件物理地址。我试了发现不行,具体原因也没找到。
    1. 用bat文件
       

      1、在桌面新建一个text文件。写入以下:

      @echo off
      
      if "%1"=="h" goto begin
      
      start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
      
      :begin
       
      pipenv run celery -A workjob worker --loglevel=info -P eventlet -c 10
      

      其中,pipenv run celery -A workjob worker --loglevel=info -P eventlet -c 10为你自己的celery启动命令,有不同的Router,或者多个task可以使用 & 符号 继续往第一行后边加可以把你所有需要终端启动的命令都写上去。
              注意:这里我用的虚拟环境是pipenv,所以需要在虚拟环境里面处理celery命令
      其中的前半部分就是隐藏窗口用的,在begin后面加自己要处理的cmd命令

      @echo off

      if "%1"=="h" goto begin

      start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit

      :begin

      之后将此文件的后缀改为 .bat 。(我这里将这个文件命名为 start_celery.bat)
      2、在此同样的再次创建个新的bat文档,用于启动celery的beat任务,我这里将这个文件命名为 start_beat.bat

      @echo off
      
      if "%1"=="h" goto begin
      
      start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
      
      :begin
      
      pipenv run celery -A workjob beat -l info
      


      3、这里推荐创建再通过一个新的bat来启动这个bat脚本。创建一个新的start.bat脚本,写入如下:

  2. @echo off 
    start cmd /k "E:\Python\start_celery.bat"
    start cmd /k "E:\Python\start_beat.bat"


    直接运行 start.bat 就可以直接运行celery。到这里你会发现,这个bat脚本已经将你的celery用一个新的终端窗口运行起来了(这一步仅用于调试。这一步要确保你的celery被正常的启动,可以测试发起一个异步任务,确保异步任务没有问题之后。关掉终端)。
     

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值