Tôi đang cố gắng thực hiện lệnh shell và tiêu diệt nó bằng python tín hiệu mô-đun.ValueError: tín hiệu chỉ hoạt động trong chủ đề chính - Django - mod_wsgi
Tôi biết các tín hiệu chỉ làm việc với chủ đề chính, vì vậy tôi chạy máy chủ phát triển Django với,
python manage.py runserver --nothreading --noreload
và nó hoạt động tốt.
Nhưng khi tôi triển khai các ứng dụng django với Apache/mod_wsgi, nó cho thấy các lỗi sau:
[Fri Sep 12 20:07:00 2014] [error] response = function.call(request, **data)
[Fri Sep 12 20:07:00 2014] [error] File "/Site/cloud/lib/python2.6/site-packages/dajaxice/core/Dajaxice.py", line 18, in call
[Fri Sep 12 20:07:00 2014] [error] return self.function(*args, **kwargs)
[Fri Sep 12 20:07:00 2014] [error] File "/Site/cloud/soc/website/ajax.py", line 83, in execute
[Fri Sep 12 20:07:00 2014] [error] data = scilab_run(code, token, book_id, dependency_exists)
[Fri Sep 12 20:07:00 2014] [error] File "/Site/cloud/soc/website/helpers.py", line 58, in scilab_run
[Fri Sep 12 20:07:00 2014] [error] output = task.run().communicate()[0]
[Fri Sep 12 20:07:00 2014] [error] File "/Site/cloud/soc/website/timeout.py", line 121, in run
[Fri Sep 12 20:07:00 2014] [error] lambda sig,frame : os.killpg(self.pgid,self.timeoutSignal))
[Fri Sep 12 20:07:00 2014] [error] ValueError: signal only works in main thread
Đây là tôi apache VirtualHost thiết lập:
WSGIDaemonProcess testcloud display-name=scilab_cloud user=apache group=apache threads=1
WSGIProcessGroup testcloud
WSGIScriptAlias//Site/cloud/soc/soc/wsgi.py
WSGIImportScript /Site/cloud/soc/soc/wsgi.py process-group=testcloud application-group=%{GLOBAL}
Tôi cũng có các thiết lập bên dưới bên ngoài virtualhost trong httpd.conf:
WSGIRestrictSignal Off
WSGISocketPrefix /var/run/wsgi
Here is the link cho chuyên nghiệp gram sử dụng tín hiệu và thiết bị tôi sử dụng trong ứng dụng django của mình.
Mọi trợ giúp sẽ được đánh giá cao.