2010-05-15 44 views
5

Tôi đang làm việc với web2py và vì lý do nào đó web2py dường như không thông báo khi mã đã thay đổi trong một số trường hợp nhất định. Tôi có thể không thực sự thu hẹp nó xuống, nhưng theo thời gian thay đổi trong mã không được phản ánh, web2py rõ ràng là có phiên bản cũ được lưu trữ ở đâu đó.Ngăn web2py khỏi bộ nhớ đệm?

Điều duy nhất giúp bạn thoát web2py và khởi động lại (tôi đang sử dụng máy chủ nội bộ).

Bất kỳ gợi ý nào? Cảm ơn bạn !

Trả lời

0

web2py chính nó không nên "lưu trữ" mã của bạn, nhưng bất kỳ máy chủ ứng dụng nào bạn đang sử dụng nó chắc chắn có thể. Nhưng web2py có thể được triển khai trên rất nhiều loại máy chủ ứng dụng khác nhau mà không thể đưa ra đề xuất hoàn toàn chung.

Nếu bạn đang sử dụng máy chủ WSGI phổ biến cherrypy WSGI mà tôi tin rằng đi kèm với web2py, ví dụ, xem, trong tài liệu riêng của cherrypy, tính năng AutoReload. các tính năng như được không đề nghị trong việc triển khai sản xuất (họ có thể đòi hỏi nguồn lực rất quan trọng), nhưng họ chắc chắn có ích khi bạn chỉ đang phát triển -!)

+0

Rất tiếc, tôi đang sử dụng máy chủ cherrypy đi kèm với web2py. Vì nó có vẻ khá gắn liền với web2py tôi dường như không thể tìm thấy tập tin cấu hình đúng. Dù sao - từ những gì tôi hiểu rằng có vẻ khá đau chỉ để làm cho máy chủ sử dụng tập tin cập nhật. Tôi có nghĩa là nếu tôi chạy các script python đơn giản trên một lighttpd mà không có web2py, tôi không bao giờ phải làm bất cứ điều gì như thế: ( – Joe

+0

@Joe, nếu bạn chạy CGI thì định nghĩa kịch bản sẽ được đọc từ đĩa mỗi lần và cần phải làm tất cả khởi tạo lại nó: đó là một phần tốt của những gì làm cho CGI quá chậm Nếu bạn muốn mã web2py và triển khai như CGI, hãy đi thẳng: web2py đi kèm với một bộ chuyển đổi CGI, 'cgihandler.py' - xem tất cả các triển khai công thức nấu ăn tại http://web2py.com/book/default/section/11/0 (nó nhầm lẫn nói rằng modpythonhandler là bộ điều hợp cho CGI và cgihandler cho modpython, nhưng nó rõ ràng là cách khác xung quanh ;-). –

5

web2py làm bộ nhớ cache mã của bạn, ngoại trừ Google App Engine (cho tốc độ). Đó không phải là vấn đề. Nếu bạn chỉnh sửa mã trong các mô hình, chế độ xem hoặc bộ điều khiển, bạn sẽ thấy hiệu ứng ngay lập tức.

Sự cố có thể là mô-đun; nếu bạn chỉnh sửa mã trong các mô-đun, bạn sẽ không thấy hiệu ứng ngay lập tức, trừ khi bạn nhập chúng với local_import('module', reload=True) hoặc bằng cách khởi động lại web2py.

Đó cũng không phải là vấn đề của bạn, khi đó trình duyệt của bạn đang lưu vào bộ nhớ đệm. Vui lòng đưa câu hỏi này lên danh sách gửi thư trên web2py vì chúng tôi có thể trợ giúp thêm.

P.S. Nếu bạn đang sử dụng web2py mới nhất, nó không còn đi kèm với cherrypy nữa. Máy chủ web tích hợp được gọi là Rocket.

+0

Cảm ơn bạn câu trả lời, loca_import đã làm các trick :) – Joe

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