Tôi đã dùng thử công cụ ứng dụng cho ứng dụng đồng hồ động đất nhỏ của mình
http://quakewatch.appspot.com/
Mục đích của tôi là để xem các khả năng của công cụ ứng dụng, vì vậy đây là những điểm chính:
- mặc định nó không xuất hiện với Django, nó có khung web riêng, pythonic có bộ điều phối URL như Django và nó sử dụng các mẫu Django Vì vậy, nếu bạn có Django exp. bạn sẽ thấy nó dễ sử dụng
- Bạn không thể thực hiện bất kỳ quy trình chạy dài nào trên máy chủ, những gì bạn làm là trả lời yêu cầu và sẽ nhanh chóng nếu không appengine sẽ giết nó. Vì vậy, nếu ứng dụng của bạn cần nhiều ứng dụng xử lý phụ trợ thì không phải là cách tốt nhất nếu không bạn sẽ phải xử lý trên một máy chủ của riêng bạn
- Ứng dụng quakewatch của tôi có tính năng đăng ký, điều đó có nghĩa là tôi phải gửi email các trận động đất mới nhất khi chúng xảy ra, nhưng tôi không thể chạy quy trình nền trong công cụ ứng dụng để theo dõi giải pháp trận động đất mới ở đây là sử dụng dịch vụ phần thứ ba như pingablity.com. kết nối với một trong những trang của bạn và thực thi trình đăng ký email nhưng ở đây bạn cũng sẽ phải lưu ý rằng bạn không dành nhiều thời gian ở đây hoặc chia nhỏ nhiệm vụ thành nhiều phần
- Nó cung cấp cho Django khả năng mô hình hóa nhưng phụ trợ hoàn toàn khác nhau nhưng đối với một dự án mới thì không thành vấn đề.
Nhưng nhìn chung, tôi nghĩ rằng nó là tuyệt vời để tạo các ứng dụng không cần xử lý nền.
Chỉnh sửa: Bây giờ hàng đợi tác vụ có thể được sử dụng để chạy xử lý hàng loạt hoặc tác vụ theo lịch trình
Chỉnh sửa: sau khi làm việc / tạo một ứng dụng thực sự trên GAE trong một năm, bây giờ ý kiến của tôi là trừ khi bạn đang tạo một ứng dụng cần mở rộng tới hàng triệu triệu người dùng, đừng sử dụng GAE. Duy trì và thực hiện các tác vụ tầm thường trong GAE là vấn đề đau đầu do tính chất phân tán, để tránh lỗi vượt quá thời hạn, đếm các thực thể hoặc thực hiện các truy vấn phức tạp đòi hỏi mã phức tạp, vì vậy ứng dụng phức tạp nhỏ phải bám vào LAMP.
Chỉnh sửa: Các mô hình nên được thiết kế đặc biệt xem xét tất cả các giao dịch bạn muốn có trong tương lai, bởi vì các thực thể chỉ trong cùng một nhóm thực thể có thể được sử dụng trong một giao dịch và nó khiến quá trình cập nhật hai nhóm khác nhau trở thành cơn ác mộng, ví dụ như chuyển tiền từ user1 sang user2 trong giao dịch là không thể trừ khi chúng ở cùng một nhóm thực thể, nhưng làm cho chúng cùng một nhóm thực thể có thể không tốt nhất cho mục đích cập nhật thường xuyên .... hãy đọc http://blog.notdot.net/2009/9/Distribution-Transilities- trên ứng dụng