2012-01-28 23 views
7

Gần đây tôi đã tạo một trang điều khiển phiên bản từ ứng dụng của tôi để quản lý quá trình triển khai.Gunicorn :: tải lại từ bản thân ứng dụng

(Vâng, tôi biết, github + móc là tốt hơn so với viết lại từ con số không Nhưng chúng ta đang ở Iran và chính phủ thân yêu của chúng tôi đã bị chặn tất cả các kết nối ssh để bên ngoài của đất nước:.. (()

Có là một hành động hợp nhất + tải lại trong trang, quá trình hợp nhất hoạt động giống như các phần khác, nhưng phần tải lại không thành công mà không có bất kỳ thông báo nào.Tôi đã thêm hàng sudo cho lệnh giết và người dùng của quy trình công nhân có đủ quyền. mẫu mã django shell và nó đã tải lại quy trình

Có hạn chế nào khi nhận tín hiệu, chẳng hạn như công nhân không thể tải lại máy chủ của mình không?

Dưới đây là các mã liên quan:

def command(x): 
    return str(Popen(x.split(' '), stdout=PIPE).communicate()[0]) 

pid = open(PATH + "/logs/gunicorn.pid").readline().strip() 
cmd = "sudo kill -HUP %s" % pid 
content += command(cmd) 

Trả lời

1

Guess ra khỏi đỉnh đầu của tôi là khởi động lại không làm việc vì quá trình này gọi tải lại đang được giết. Có thể thử daemonize một tiến trình con thoát ra sau khi gọi lại tải lại? Hãy xem bài đăng này:

spawning process from python

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