2010-11-17 28 views
5

Tôi đang cố gắng thực thi một vài tập lệnh python để thao tác một số hình ảnh trên trang web của mình. Chương trình/công cụ bên ngoài được viết bằng python và được gọi là PHATCH. Tôi đang ở trong Windows và sử dụng WAMP làm máy chủ web của tôi.Thi hành một số tập lệnh Python cùng lúc khiến PHP/Apache bị treo

Thực thi chỉ một tập lệnh có vẻ hoạt động tốt, nhưng tôi cần thực thi 4 tập lệnh cùng lúc (để tạo 4 hình ảnh khác nhau), trình duyệt của tôi sẽ tải và đóng băng Apache/PHP.

Việc thực thi PHP có vẻ như đóng băng và treo lên do một số hệ thống() gọi sau mỗi lần khác. Dưới đây là ví dụ về cách tôi đang sử dụng nó:

system("C:\\python\\python.exe C:\\phatch\\phatch.py script1.phatch"); 
system("C:\\python\\python.exe C:\\phatch\\phatch.py script2.phatch"); 
system("C:\\python\\python.exe C:\\phatch\\phatch.py script3.phatch"); 
system("C:\\python\\python.exe C:\\phatch\\phatch.py script4.phatch"); 

Nếu tôi chỉ làm điều đầu tiên, thì tốt, nhưng ngay sau khi tôi thêm người khác, mọi thứ đều bị đóng băng.

+1

Bạn đã thử tất cả bốn cá nhân? Đó là, đã thử script1.phatch, sau đó thay thế nó bằng script2.phatch, v.v.? Nó chỉ có thể là một trong bốn kịch bản đó là vấn đề. –

+0

Bạn nhận ra rằng nó không chạy cả 4 cùng một lúc, phải không? Nó chạy chúng serially (cái khác) ... Cách duy nhất xung quanh đó trên Windows là làm một cái gì đó như [this] (http://stackoverflow.com/questions/4197579/nohup-on-windows-exec-without -waiting-for-finish-php/4197625 # 4197625) – ircmaxell

+0

Bạn có phiền toái khi kiểm tra tải hệ thống trong Trình quản lý Tác vụ không? – stillstanding

Trả lời

0

Có thể thực hiện đồng thời nhiều bản sao của đồng thời từ cùng một tài khoản không? Bạn đã thử điều này mà không có PHP và Apache?

Có thể nhiều bản sao bắt đầu đồng thời truy cập cùng một tệp, có thể sử dụng cùng một tệp tạm thời (ngay cả với tên duy nhất, nếu tên dựa trên thời gian, chúng có thể có cùng tên ...)

+0

Câu hỏi hay! Đó có thể là vấn đề; bạn chỉ thấy một "cmd.exe" được bắt đầu, bằng cách khác, chỉ có một thể hiện của phatch được bắt đầu và đó có thể là lý do tại sao nó bị đóng băng .. bất kỳ ý tưởng nào về cách sinh ra 4 cuộc gọi khác nhau tới tập lệnh? – Eric

+2

Hoặc một ý tưởng khác đọc nhận xét của bạn ở vị trí thứ nhất: Nếu bạn muốn chúng được thực hiện một cách serially, tại sao không chỉ viết một tập lệnh Python ngắn chạy cả bốn tập lệnh? Sau đó, chỉ cần một cuộc gọi hệ thống. và từ một quan điểm hiệu quả, Python chỉ mới bắt đầu ONCE! – winwaed

+0

Oh .. Tôi cảm thấy rất câm .. \: Tôi đã thử rằng bây giờ và nó có vẻ hoạt động hoàn hảo! Tôi đã cố gắng bây giờ như 50 lần và không treo cho đến nay vì vậy tôi đoán đó là một giải pháp! CẢM ƠN (: – Eric

Các vấn đề liên quan