即使在 python2 中使用子进程,也无法触发带有星号 AGI 的 python3 代码

Cant trigger python 3 code with asterisk AGI even on using subprocess inside python2

我正在 运行宁一个由拨号计划触发的 python2 代码。为了处理保存的录音,我需要 运行 一个 python 3 脚本。有什么办法吗。如果我将代码切换为 python3,代码将无法正常工作。 这是扩展名 相同=>n,AGI(code.py)

在 code.py 上给予 header #!/usr/bin/envpython2

我能够运行这个功能

def run_cmd(cmd):
#This runs the general command 
   sys.stderr.write(cmd)
   sys.stderr.flush()
   sys.stdout.write(cmd)
   sys.stdout.flush()
   result = sys.stdin.readline().strip()
   checkresult(result)

能够处理各种agi命令 但将其切换为 python 3 #!/usr/bin/env python3 代码不会 运行。 现在我需要使用 google 云引擎来处理 python 3

中编写的内容

有没有办法做到运行 我已经完成了

def run_sys_command(command):
   subprocess.call(command, shell=True)
   checkresult(result)
  
command = "sudo python3 /root/Downloads/check2.py"
run_sys_command(command)

有什么方法可以 运行 python 3 脚本或任何方法 运行 python 3 脚本直接用 agi.

我已经检查了所有内容的权限

当然可以 运行 AGI 中的线程。

但是应该在AGI脚本结束前停止。

做你想做的最简单的方法 - 设置某种类型的队列(rabbitmq/simple 任务列表在 mysql 中?)并在星号进程范围之外处理它。

运行宁python3作为AGI脚本没有任何问题。我的项目中有很多这样的脚本。只需检查您的代码。