2011-12-14 11 views
5

Hôm qua tôi đã triển khai lần thứ 40 hoặc 50 của một hệ thống Symfony2 trên máy chủ. Tất cả mọi thứ tốt cho đến nay. Hôm nay tôi nhận được một lỗi khó chịu. Đây là những gì sẽ xảy ra:Capifony không làm nóng bộ nhớ đệm

* executing `symfony:cache:warmup' 
* executing "cd /NFS2/oa_sf2/releases/20111214182506 && php app/console cache:warmup --env=prod" 
    servers: ["151.1.111.19"] 
    [151.1.111.19] executing command 
** [out :: 151.1.111.19] Warming up the cache 
** [out :: 151.1.111.19] 
** [out :: 151.1.111.19] 
** [out :: 151.1.111.19] 
** [out :: 151.1.111.19] [RuntimeException] 
** [out :: 151.1.111.19] Error creating output file. 
** [out :: 151.1.111.19] 
** [out :: 151.1.111.19] 
** [out :: 151.1.111.19] 
** [out :: 151.1.111.19] cache:warmup 
** [out :: 151.1.111.19] 
** [out :: 151.1.111.19] 
    command finished 
*** [deploy:update_code] rolling back 
  • Không có cơ hội để điều tra thêm vào thư mục bộ nhớ cache vì toàn bộ cây mã bị loại bỏ trên rollback
  • Chúng ta biết Capistrano tính năng một số cách để vô hiệu hóa các rollback nhưng vẫn muốn chúng tôi muốn thử sự hiểu biết không có quyền truy cập vào máy chủ từ xa - nó phải là một cái gì đó trên bên của chúng tôi, kể từ ngày hôm qua đó là tất cả OK
  • không thay đổi được thực hiện trên của người dùng triển khai đọc/ghi/thực hiện quyền

Vui lòng đưa ra bất kỳ gợi ý nào về cách mang điều tra về phía trước? Cảm ơn rất nhiều.

p.s. không có câu hỏi tương tự trên Stacktrace giải quyết vấn đề đặc biệt này.

+0

Bạn đã nâng cấp Symfony trước sự cố này chưa? – dlondero

+0

bạn đã bao giờ giải quyết vấn đề này chưa? Tôi có một vấn đề tương tự nhưng với assetic: dump (chạy tốt tại địa phương và trên một máy chủ dàn dựng). – ed209

Trả lời

0

Đĩa đầy? Có thể nó đã đầy sau khi nó cố gắng làm ấm bộ nhớ cache.

3

Tôi nghĩ đó không thực sự là câu hỏi có liên quan đến Capifony. Cuối cùng nó chỉ chạy lệnh Symfony.

Trước tiên, hãy thử chạy công việc cache:warmup theo cách thủ công trên máy chủ.

Có thể là một sự kiện quyền. Kiểm tra các quyền đối với thư mục bộ nhớ cache ngay trước khi khởi động. Bạn có thể làm điều đó bằng cách ghi đè tác vụ (chỉ cần sao chép nó và chạy ls -l trên thư mục bộ nhớ cache trước khi chạy một lệnh thực tế).

Bạn không phải triển khai mọi lúc để xem có gì sai. Chạy bộ nhớ cache: lệnh tự khởi động:

cap symfony:cache:warmup 

Tôi greped Symfony 2.0.7 nguồn và assetic's YUI compressor is the only place where such exception is thrown (xem liên kết). Điều này cho thấy đó là một vấn đề liên quan đến việc nén tài sản của bạn với sự hỗ trợ. Có thể bạn đã thêm tính năng này gần đây và không cài đặt java trên máy chủ.

+1

Có vẻ như chúng tôi không thể chạy máy nén YUI. java được cài đặt mặc dù. Đối với các hồ sơ tôi sẽ đăng ở đây bất kỳ cái nhìn sâu sắc có thể bật lên. Cảm ơn rất nhiều cho đến nay! – jakuza

0

Việc hâm nóng bộ nhớ cache là một nhiệm vụ symfony AFAIU, nó có thể được kiểm tra thông qua XDebug hoặc profiler của nó.