1

这是我的 Python 代码:

import threading
import time
import MySQLdb
import sys

conn=MySQLdb.connect (host = "localhost",
        user = "root",
        passwd = "",
        db = "profiles_sheduleit")
cur = conn.cursor()

def activation():       
    while True:
        time.sleep(1)
        print time.time()

t = threading.Thread(name='activation', target=activation)
t.start()

我通过以下方式从我的 php 页面调用此页面:

$result = exec("c:/python27/python f:/python/hello.py");

当单击此按钮时,我在 php 中有几个按钮,我应该创建一个新线程并且该线程应该运行 10 秒。

但是当我单击按钮时 m 无法单击另一个按钮,因为 python 脚本进入睡眠模式thanx

4

1 回答 1

3

您的 python 脚本永远不会终止,因为您的线程由于您的while True:语句而永远运行。这会导致exec函数无限期地等待。所有 PHP 的类似 exec 的函数都是阻塞的,这意味着它们会等到它们调用的进程返回。

如果您想创建工作队列,请查看类似gearman的内容。它本质上是一个允许异步执行的作业服务器。

于 2012-07-11T10:51:51.527 回答