Thể loại: Bài viết

Oauth / Twitter Auth Adapter cho Zend Framework

, thứ bảy ngày 23 tháng 4 năm 2011 15:57

Làm việc tiếp tục (từ từ) trên của tôi mới Twitter ứng dụng dựa trên . Trong vài tiếp theo của ngày nghỉ lễ ngân hàng, tôi hy vọng để có được đà đi một lần nữa về dự án (mặc dù thời tiết tuyệt vời hiện nay). Dù sao, nhiệm vụ tiếp theo của tôi là tạo ra một bộ chuyển đổi xác thực cho Zend Framework. Tôi đã có một thực hiện đăng nhập làm việc, nhưng có một giảm Auth adapter cho Zend Framework có vẻ giống như một đề nghị hấp dẫn, vì vậy tôi tạo ra nó ....

(Tôi sẽ không đi qua OAuth hoặc đăng ký ứng dụng của bạn với twitter, có hàng trăm hướng dẫn viên và một quá trình khá đơn giản dù sao đi nữa. )
Tiếp tục 'OAuth / Twitter Auth Adapter cho Zend Framework đọc »

"Đăng nhập với Twitter" bằng cách sử dụng Zend Framework

, thứ năm lần thứ 17 tháng ba 2011 1:07 pm

Mặc dù tất cả các ghét twitter tại thời điểm này, tôi đã đặt ra để tạo ra một mới twitter dựa trên ứng dụng . Là một người quản lý một số tài khoản (cá nhân và cho công việc từ thiện của tôi) Tôi đã cần một công cụ cho đôi khi tôi nhận được xung quanh để viết (nhiều hơn trong tương lai gần ...).

Tôi đã đọc trên Zend_Oauth_Consumer và làm thế nào nó có thể được sử dụng để có được ủy quyền để tương tác với twitter sử dụng oauth. Tất cả các tốt và tốt, tôi có chìa khóa truy cập của tôi và tôi vui vẻ có thể gửi đi thay mặt cho một người sử dụng. Có rất nhiều các nguồn lực hiện có để làm điều này vì vậy tôi sẽ không người mang.

Bước tiếp theo là cho phép mọi người quay trở lại trang web, đăng nhập và chỉnh sửa tài khoản của họ. Đây là nơi tôi đến một vấn đề nhỏ. Sử dụng các ví dụ mã trên các trang web có nghĩa rằng tôi có twitter yêu cầu tôi cho phép truy cập một lần nữa cho mỗi lần đăng nhập, không tốt. Quét thông qua các khuôn khổ tôi không thể nhìn thấy bất cứ điều gì mà sẽ cho phép tôi chỉ cần yêu cầu chứng thực. Đó không phải là để nói rằng nó không có, nhưng có dường như không được một cơ chế xác thực có thể được gọi mà không cần biết mã thông báo truy cập được.

Các lựa chọn thay thế để thực hiện một trang web dựa trên đăng nhập hoặc bằng cách nào đó lưu trữ mã thông báo truy cập của người dùng trên máy khách (mã hóa của khóa học). Không những có vẻ như một giải pháp tốt / phù hợp.

Tiếp tục đọc '"Đăng nhập với Twitter" bằng cách sử dụng Zend Framework '»

Zend Certified Engineer (ZCE) 5.3

ý kiến (7)
, thứ Năm 30 September 2010 21:00

Với sự phát hành chính thức của các chương trình chứng chỉ Zend (ZCE) Kỹ sư 5.3, tôi nghĩ rằng tôi muốn cung cấp cho những ấn tượng của tôi về những gì tôi nghĩ của kỳ thi.

Một nền chút về bản thân mình: Tôi lần đầu tiên được giới thiệu để PHP khoảng 7 năm trước đây và đã làm việc chuyên nghiệp trong PHP kể từ năm 2006. Tôi hiện đang làm việc cho một thú vị bắt đầu được gọi là Brightpearl có trụ sở tại Bristol, Vương quốc Anh, sản xuất CRM tích hợp, kế toán, và phần mềm thương mại điện tử. Tôi trước đây không thu được bất kỳ trình độ ZCE trước đó. Tôi hiện đang phát triển trong loạt 5.2.X và chưa thực sự được sử dụng bất kỳ 5,3 tính năng cụ thể (Tôi đang chờ đợi cho Zend Framework 2 và Doctrine 2) trong dự án phát triển của tôi.
Tiếp tục đọc 'Zend Certified Engineer (ZCE) 5,3' »

Bắt đầu Symfony DI (Dependency Injection) nhanh chóng Hướng dẫn

, Thứ Bảy 14 Tháng 8 2010 14:21

Dependency Injection (DI)?

Tiêm phụ thuộc là một kỹ thuật cho phép cho các đối tượng lỏng trong một ứng dụng phần mềm. Nói chung nếu một đối tượng yêu cầu truy cập các chức năng khác sẽ được khởi tạo nội bộ hàng đầu cho các hệ thống chặt chẽ. Bằng cách thực hiện tiêm phụ thuộc, chúng ta tiêm các đối tượng cần thiết sẵn sàng sử dụng (đôi khi cũng được gọi để đảo ngược của kiểm soát - IOC). Lấy ví dụ sau:

  <? Php
 lớp DecisionMaker {
     chức năng công cộng makeDecision (mảng $ tham số) {
         / / Cần các bộ chuyển đổi cơ sở dữ liệu
         $ Dp = new DecisionParameters ();
         $ ParameterScore = $ dp-> getScore (tham số);
         / * ...  Một số chi tiết quyết định logic ...  * /
         trở lại ($ parameterScore> 50);
     }
 } 

Đoạn mã này được cho là hợp chặt chẽ với các đối tượng DecisionParameters. Viết lại một cách lỏng lẻo cùng chúng tôi muốn có một cái gì đó giống như ....

  <? Php
 lớp DecisionMaker {
     tin $ _dp;
     công chức năng __construct ($ dp)
         $ This-> _dp = $ dp;
     }
     chức năng công cộng makeDecision (mảng $ tham số) {
         $ ParameterScore = $ this-> _dp-> getScore (tham số);
         / * ...  Một số chi tiết quyết định logic ...  * /
         trở lại ($ parameterScore> 50);
     }
 } 

Trong khi đạt được những lợi ích của mã lỏng chúng ta thêm phức tạp như vậy mỗi lần một đối tượng được khởi tạo chúng ta cũng phải khởi tạo phụ thuộc của nó và vượt qua những quá. Ví dụ, điều này:

  $ Sự lựa chọn = new DecisionMaker ();
 echo $ sự lựa chọn-> makeDecision (array ('nỗ lực' => 'thấp', 'trở về' => 'cao')); 

lúc này là:

  $ Dp = new DecisionParameters ();
 $ Sự lựa chọn = new DecisionMaker ($ dp);
 echo $ sự lựa chọn-> makeDecision (array ('nỗ lực' => 'thấp', 'trở về' => 'cao')); 

Tình trạng này trở nên đau đớn hơn khi số lượng phụ thuộc cho một lớp học được tăng lên, và điều gì sẽ xảy ra nếu các phụ thuộc mình có phụ thuộc? Điều này khá nhanh chóng có thể trở thành một cơn ác mộng đối tượng quản lý! Nhập container tiêm phụ thuộc (hoặc khung) ...
Tiếp tục đọc 'Symfony bắt đầu nhanh DI (Dependency Injection) Hướng dẫn' »

Naked Zend_Layout và Zend_View

, thứ ba 10 tháng tám 2010 23:47

Trong bài viết này, tôi nhìn vào sử dụng Zend_Layout và Zend_View cùng với một bộ điều khiển phía trước đơn giản để hiển thị như thế nào nó có thể bắt đầu tách logic kinh doanh và trình bày trong ứng dụng của bạn. Tất cả các mã có sẵn trên github:
Naked Zend_Layout và Zend_View trên GitHub .

Tiếp tục 'Zend_Layout Naked và Zend_View' đọc »

Zend Framework mỗi Cài đặt Giao diện module theo dõi

, thứ Ba 16 tháng 2 năm 2010 20:48

Là một theo dõi bài viết trước đây của tôi về cài đặt mô-đun mỗi bố trí dựa trên Zend Framework, tôi đã cập nhật các mã yêu cầu cấu hình ít hơn sau đó trước khi (không phải là nó đòi hỏi một vài dòng trong cấu hình ứng dụng của bạn) .
Tiếp tục đọc 'Zend Framework mỗi Cài đặt Giao diện module theo dõi »

Tạo URL trong Zend Tuỳ chỉnh Xem trợ giúp

, Thứ Năm 28 Tháng 1, 2010 11:01

Điều này có vẻ đơn giản, nhưng tôi đã đập đầu của tôi đang cố gắng để tạo ra một URL trong một helper xem tùy chỉnh trong Zend Framework . Tôi đã định tuyến thiết lập được các mô-đun từ các tên miền con được sử dụng vì vậy tôi không thể sử dụng một URL đơn giản hardcoded.

Tiếp tục "Tạo URL trong Zend Tuỳ chỉnh Xem người trợ giúp" đọc »

Tuyến đường yêu cầu cho sitemap.xml để điều khiển tùy chỉnh / hành động

, thứ tư thứ 6 January 2010 12:13

Để yêu cầu trực tiếp cho / sitemap.xml một bộ điều khiển tùy chỉnh và hành động trong Zend Framework ứng dụng chỉ cần thêm sau đây trong application.ini của bạn hoặc tập tin cấu hình thay thế (ví dụ, tôi sử dụng navigation.ini) :

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = index
 resources.router.routes.sitemap.defaults.action = Sitemap

Ví dụ mã cho xuất ra có thể được nhìn thấy bằng cách tạo ra một hành động trong bộ điều khiển thích hợp (ví dụ như sơ đồ trang web của tôi nằm trong bộ điều khiển chỉ số, sơ đồ trang web hành động):

 < php
 lớp IndexController
     mở rộng Zend_Controller_Action
 {
     / **
      * Renders một sơ đồ trang web dựa trên thiết lập Zend_Navigation
      * /
     chức năng công cộng sitemapAction ()
     {
    	 echo $ this-> view-> chuyển hướng () -> Sơ đồ trang web ();
    	 $ This-> view-> bố trí () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sơ đồ trang web một cách nhanh chóng và dễ dàng có thể được tạo ra bằng cách sử dụng Zend_Navigation, một hướng dẫn nhanh chóng tuyệt vời (và nói chung là rất hữu ích cho Zend Khung hướng dẫn)Zend Gọi ra - Tự động tạo ra một trình đơn một sitemap và breadcrumbs.

Văn phòng lưới máy tính sử dụng môi trường ảo - Phần 4

, thứ Sáu ngày 04 tháng 12 năm 2009 11:59

Giới thiệu

Tôi làm việc trong một công ty nơi chúng tôi chạy nhiều công ăn việc làm hàng loạt chế biến hàng triệu hồ sơ của các dữ liệu mỗi ngày và tôi đã suy nghĩ gần đây về tất cả các máy ngồi xung quanh mỗi và mỗi ngày không làm gì trong vài giờ. Nó sẽ không tốt nếu chúng ta có thể sử dụng những máy móc để tăng cường sức mạnh xử lý của hệ thống của chúng tôi? Trong tập hợp các bài này, tôi sẽ nhìn vào những lợi ích tiềm năng của việc sử dụng một mạng lưới văn phòng bằng cách sử dụng các môi trường ảo hóa.

Trong phần 3 , chúng tôi tạo ra máy xử lý ảo của chúng tôi và đặt lên cửa sổ máy để trở thành công nhân thời gian nhàn rỗi.

Chạy mã mới nhất

Chắc chắn sau khi tạo nhân viên kinh doanh logic của bạn sẽ thay đổi, lỗi sẽ được tìm thấy, mã nhanh hơn hiệu quả hơn sẽ được sản xuất do đó để lại công nhân của bạn ngồi xung quanh xử lý dữ liệu bằng cách sử dụng mã mùi cũ. Làm thế nào sau đó làm chúng tôi đảm bảo rằng chúng tôi luôn sử dụng phiên bản mới nhất và lớn nhất của các kịch bản xử lý của chúng tôi?

Có một số cách rất dễ dàng đơn giản, chúng ta có thể làm điều này, lừa, tuy nhiên, là để giảm sức mạnh xử lý và mạng lưới giao thông trong việc đạt được điều này. Cho phép bắt đầu với các giải pháp đơn giản và cải thiện nó từ từ trong một vài lặp đi lặp lại.

Phương pháp đầu tiên sẽ được chỉ đơn giản là kết nối với máy chủ kiểm soát công việc của chúng tôi (qua samba, FTP, hoặc tương tự) và kéo xuống phiên bản mới nhất của mã. Không phải rất hiệu quả, nhưng nó sẽ làm công việc. Cho phép cải thiện phần nào, làm thế nào về việc tạo ra một kịch bản rsync và sử dụng mỗi lần thay vì? Ngoài ra những gì về việc đưa kịch bản xử lý mới nhất của chúng tôi vào lật đổ ra các mã ban đầu và sau đó chỉ cần cập nhật mã của chúng tôi trên mỗi lần chạy (svn cập nhật) ?

Cuối cùng, chúng ta có thể kết thúc với một kịch bản bash (gọi là định kỳ mỗi 10 phút) có vẻ như là đơn giản như thế này:

  # / Bin / sh
 nếu ps ax | grep grep-v | grep php > / dev / null
 sau đó
     echo "công việc hiện đang chế biến, xuất cảnh"
 khác
     echo "công việc không chạy, bắt đầu ngay bây giờ"
     cd / path / to / / sao chép
     svn cập nhật
     php yourJobProcessingScript.php
 fi 

Bây giờ chúng ta có thể chắc chắn rằng với mỗi lần chạy, chúng tôi chắc chắn chạy mã mới nhất. Chúng tôi đảm bảo điều này bằng cách cập nhật cơ sở mã của chúng tôi và mỗi khi chúng tôi thực hiện một hoạt động và giảm lưu lượng mạng bằng cách chỉ chuyển giao những khác biệt tập tin trên mạng của chúng tôi.

Trong thiết lập trình diễn của tôi, tôi đã làm chính xác như trên. Subversion đã được cài đặt trên máy chủ xử lý công việc của tôi và tôi chỉ đơn giản là kéo các mã mới nhất từ ​​một chi nhánh công nhân bằng cách sử dụng 'svn cập nhật'. Tôi cũng đã thêm một thẻ số phiên bản để xử lý kịch bản của tôi đã được trả lại cho cơ sở dữ liệu như là một phần của sự trở lại kết quả. Bằng cách này tôi có thể thấy rằng mã của tôi đã được cập nhật mỗi lần sao chép thân của tôi vào các nhân viên tức là chi nhánh mà tôi chắc chắn chạy kịch bản xử lý mới nhất.

Sử dụng dữ liệu mới nhất

Nếu xử lý công việc của bạn làm cho việc sử dụng các nguồn dữ liệu sau đó tại một số điểm sẽ được cập nhật. Trừ khi bạn gọi các nguồn dữ liệu của bạn trên một cơ sở rất hiếm khi xảy ra bạn sẽ tràn ngập mạng của bạn với giao thông ngay sau khi các nhân viên của bạn bắt đầu chạy tất cả mọi thứ vào bế tắc. Đối với giải pháp của tôi, tôi quyết định rằng tôi muốn để di chuyển các nguồn dữ liệu của tôi xung quanh với máy ảo của tôi.

Giữ bạn đang ngựa có Điều gì sẽ xảy ra nếu nguồn dữ liệu của tôi là HUGE? Vâng điều này thực sự là một trường hợp của bao nhiêu dữ liệu chúng ta đang nói ? Nó có thể được hiệu quả chi phí để cài đặt một ổ đĩa cứng bổ sung lớn hơn vào mỗi máy hơn là mua một máy chủ xử lý bổ sung. Đây là một câu hỏi của ngân sách và các doanh nghiệp để quyết định. Nó có thể đó là nguồn dữ liệu của bạn quá lớn mà chỉ là không khả thi để giữ cho rằng số lượng dữ liệu trong các máy nhân viên của bạn. Trong trường hợp đó bạn sẽ làm gì? Vâng, chúng tôi có thể nhìn vào gọi một máy chủ dữ liệu địa phương, nhưng điều này có thể gây ra các vấn đề với mạng. Trong trường hợp này, một hệ thống lưới điện như thế này có thể trở thành không thực tế để đưa vào môi trường văn phòng của bạn. Nó cũng có thể được rằng bạn có thể nhìn vào các chiến lược thay thế chạy, ví dụ chỉ kêu gọi công nhân của bạn giữa 8 giờ tối và 6 giờ sáng mỗi đêm và / hoặc nguồn dữ liệu yêu cầu can thiệp .

Di chuyển trên cho phép nói rằng số lượng nguồn dữ liệu của chúng tôi để 100GB dữ liệu. Cũng có khá một chút dữ liệu để di chuyển xung quanh mạng cập nhật. Làm thế nào chúng tôi sẽ đảm bảo rằng chúng tôi có bản sao mới nhất của dữ liệu trong trường hợp này? Rsync là một khả năng, nhưng cá nhân tôi nghĩ rằng bằng cách chạy nguồn dữ liệu mới nhất của bạn trên máy chủ xử lý công việc của bạn và thiết lập này như là một bậc thầy trong nhân rộng (với một bản ghi bin tốt đẹp lâu dài) có thể là con đường để đi:

sao chép Bằng cách mỗi thiết lập của người lao động của bạn như là một nô lệ để cập nhật công việc máy chủ kiểm soát nguồn dữ liệu của bạn sẽ nhỏ giọt xuống độc đáo cho người lao động của bạn mà không có một sự gia tăng rất lớn trong các hoạt động mạng (có nghĩa là trừ khi bạn thực hiện một cập nhật dữ liệu rất lớn và tất cả các công nhân đá trong cùng một lúc). Điều này có lợi thế hơn rsync trong đó bạn sẽ không có được một tạm dừng rất lâu trước khi mỗi công việc, như các bản cập nhật cơ sở dữ liệu, mysql daemon nhân viên phụ trách của quý vị sẽ tiếp tục cập nhật dữ liệu của mình khi xử lý vẫn tiếp tục.

Điều này là làm thế nào tôi thiết lập máy chủ trình diễn của tôi. Để thiết lập lên sao chép Tôi làm theo các hướng dẫn trên trang web mySQL ( Thiết lập bản sao ) và trong vòng 20 phút, tôi đã lao động inital của tôi sao chép các tập dữ liệu máy chủ kiểm soát công việc. Đối với mỗi người lao động bổ sung các thiết lập sao chép và quá trình làm việc mỗi khi VM đã được sao chép.

Tóm tắt thông tin

Trong phần này của bài viết chúng tôi đã xem xét cách dễ dàng và không đau là để giữ cho mã xử lý của bạn ngày using rsync hoặc subverion (SVN) để làm việc và làm giảm lưu lượng mạng tại cùng một time. Chúng tôi cũng thảo luận làm thế nào để giữ nguồn thông tin dữ liệu của bạn up-to-ngày bằng cách cho phép nó gián tiếp cho mỗi công nhân của bạn. Vì vậy chúng tôi khu vực đảm bảo rằng chúng tôi tiếp tục với logic kinh doanh và thông tin trong hệ thống mạng lưới văn phòng của chúng tôi. Rõ ràng là sẽ có vô số lựa chọn thay thế để thực hiện các nhiệm vụ này, nhưng đây là hai ví dụ đơn giản để hiển thị một giải pháp dễ dàng để đi qua.

Tiếp theo thời gian

Trong phần cuối cùng của loạt bài này, được đặt tên Phần 5 , chúng tôi sẽ thảo luận về việc triển khai hệ thống này cho. Tôi sẽ tóm tắt những gì đã được học và những gì tôi quản lý để tạo ra.

Văn phòng lưới máy tính sử dụng môi trường ảo - Phần 3

, thứ Sáu ngày 04 tháng 12 năm 2009 23:37

Giới thiệu

Tôi làm việc trong một công ty nơi chúng tôi chạy nhiều công ăn việc làm hàng loạt chế biến hàng triệu hồ sơ của các dữ liệu mỗi ngày và tôi đã suy nghĩ gần đây về tất cả các máy ngồi xung quanh mỗi và mỗi ngày không làm gì trong vài giờ. Nó sẽ không tốt nếu chúng ta có thể sử dụng những máy móc để tăng cường sức mạnh xử lý của hệ thống của chúng tôi? Trong tập hợp các bài này, tôi sẽ nhìn vào những lợi ích tiềm năng của việc sử dụng một mạng lưới văn phòng bằng cách sử dụng các môi trường ảo hóa.

Trong phần 2 chúng tôi nhìn vào việc làm một máy chủ sẽ chạy, và làm thế nào công việc cần được cấu hình để đạt được số tiền lớn nhất xử lý đồng thời đảm bảo rằng mỗi công việc được xử lý mà không có thất bại.

Thiết lập nhân viên của bạn hoặc máy chủ khập khiễng

Bước tiếp theo trong quá trình là để thiết lập các công nhân ảo của bạn. Đối với điều này, tôi sẽ sử dụng một cài đặt của CentOS sử dụng VirtualBox. Tôi sẽ cài đặt mySQLPHP trên máy chủ, còn được gọi là (Li nux, m ySQL, P HP) khập khiễng Server (tôi có thể thực hiện rằng tên lên) .

  • Cài đặt VirtualBox trên máy tính cửa sổ của bạn (theo liên kết)
  • Tải về và cài đặt CentOS (hiện tại phiên bản 5.3) trong một máy ảo được tạo ra

Không có chỉ cho tôi đi này có thể có 1.000 hướng dẫn tuyệt vời ra khỏi đó (ok, đây là một : Tạo và máy Managing CentOS ảo trong VirtualBox) . Điểm quan trọng cần lưu ý Tôi cho rằng là tôi được gọi là máy ảo của tôi GridMachine.

Theo như sự lựa chọn của khách hàng ảo hóa và hệ thống điều hành đi không có lý do lớn hấp dẫn cho mỗi sự lựa chọn. VirtualBox là một cái gì đó tôi sử dụng trên máy chủ của tôi và được hỗ trợ bởi ba hệ thống điều hành chính. Tôi đã chọn CentOS là một hệ điều hành ổn định của nó tốt và tôi sử dụng nó trên máy chủ web của riêng tôi. Tôi là một người tin tưởng tuyệt vời trong các công cụ cho công việc (mặc dù tôi đang áp dụng sử dụng nhanh nhất và dễ nhất cho bạn "tâm lý ở đây), vì vậy nếu hệ điều hành X chạy mã của bạn nhanh hơn và hiệu quả hơn sử dụng mà thay vào đó:)

Điều quan trọng là đảm bảo rằng máy ảo của bạn sử dụng DHCP, nếu không cho mỗi máy ảo mới sẽ cần phải được cấu hình riêng biệt mà là một cái gì đó chúng tôi không want.By sử dụng DHCP chúng tôi không cần phải cấu hình các thiết lập mạng riêng biệt cho các máy công nhân, DHCP sẽ tay khu công nghiệp ra cho bạn. Vì vậy, bạn có thể sao chép máy ảo của bạn về văn phòng mà không cần lo lắng về việc thiết lập mỗi một trong những động (này cải thiện khả năng mở rộng và làm giảm nhân viên hành chính).

Quá trình bạn nên nhằm mục đích đạt được sẽ là để có được một máy vật lý mới, cài đặt VirtualBox, và sau đó triển khai khá nhiều hình ảnh ảo mà không có nhiều thứ khác nữa. Nó có thể là khôn ngoan để thiết lập tất cả các công nhân trên một mạng con khác nhau để bạn có thể xem có bao nhiêu máy đang chạy. Bạn cũng sẽ cần phải thiết lập máy của bạn vào một hợp đồng thuê dài hoặc không giới hạn cho thuê DHCP.

Làm thế nào để chạy Việc người lao động

Đây là một khu vực thú vị và có một số phương pháp hợp lệ để xử lý công việc trên người lao động. Ở đây tôi sẽ chỉ thảo luận về hai rõ ràng nhất:

  • Vĩnh viễn chạy kịch bản: Một kịch bản, có thể là một kịch bản, hoặc một kịch bản PHP được thực hiện một lần vào người lao động và chạy như một phần của một vòng lặp vô hạn. Tôi đã giảm giá phương pháp này là một trong những vụ tai nạn của kịch bản và có khả năng lao động của bạn sẽ ngừng chạy mà không có một số loại can thiệp.
  • Định kỳ dựa trên kịch bản thực hiện: Mỗi phút X daemon cron bắt đầu một cuộc gọi đến kịch bản của bạn để có được điều đi. Nếu không có kiểm tra một số điều này có thể dẫn đến nhiều bản sao nhiều nhân viên chạy kịch bản của bạn.

Quyết định của tôi là để đi với cron khởi động một kịch bản mỗi minutes. 10 kịch bản của tôi thực hiện các nhiệm vụ sau đây:

  1. Một danh sách các tiến trình và grep 'php'. Nếu không tìm thấy sau đó tiếp tục.
  2. Gọi mã công việc của bạn, trong trường hợp này sẽ là một cái gì đó dựa trên PHP
  3. Nhân viên kịch bản hoàn thành chạy của nó
  4. Sẵn sàng để đi lại trên các cuộc gọi thích hợp tiếp theo

Kịch bản bash của tôi trông giống như sau:

  # / Bin / sh
 nếu ps ax | grep grep-v | grep php> / dev / null
 sau đó
     echo "công việc hiện đang chế biến, xuất cảnh"
 khác
     echo "công việc không chạy, bắt đầu ngay bây giờ"
     php yourJobProcessingScript.php
 fi 

Lưu ý: của tiếng vọng gần như hoàn toàn vô nghĩa, nhưng có thể giúp cho người tiếp theo đến cùng để thử và chỉnh sửa chúng.

Kết thúc các thiết lập của máy nhân viên ảo, nhanh chóng, đơn giản và dễ dàng để sao chép cho mỗi mảnh mới của phần cứng mà là nhận được. 'Thông minh' của hệ thống lưới điện thực sự không có trong hệ điều hành hình dung, tất cả để làm với mã được tạo ra để xử lý công việc, cấu hình việc làm, và trong việc bảo đảm rằng công việc chạy khi thích hợp (ví dụ như khi máy chủ là nhàn rỗi ).

Thiết lập Windows Khởi công nhân

Nhiệm vụ đầu tiên là để làm việc ra các lệnh cần thiết để chạy các máy ảo từ các cửa sổ dòng lệnh. Nếu bạn đã cài đặt VirtualBox trong vị trí mặc định và bạn đã đặt tên GridMachine nhân viên của bạn sau đó các lệnh cần thiết để tải lên nhân viên của bạn là:

  "C: \ Program Files \ CN \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

Tuy nhiên để chạy các kịch bản trong một trạng thái "không đầu" chúng ta cần phải sử dụng:

  "C: \ Program Files \ CN \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off 

Điều này sẽ bắt đầu các máy ảo mà không có giao diện đồ họa và cho phép nó để tiết kiệm nhà nước một cách duyên dáng. Đối số thứ hai sẽ tắt RDP để nó không mâu thuẫn với các cửa sổ RDP, hoặc cung cấp cho bạn một thông điệp về lắng nghe trên cổng 3389 tên máy ảo là trường hợp nhạy cảm!

Tiếp theo, chúng tôi sẽ cần để thiết lập các cửa sổ để khởi động máy ảo nhân viên của chúng tôi một khi máy tính đã được nhàn rỗi. Để làm điều này (trên Windows XP), bạn sẽ cần phải đi Start -> All Programs -> Accessories -> System Tools -> Scheduled Tasks như sau:

dự kiến ​​nhiệm vụ

Tiếp theo bấm vào "Add Scheduled Task duyệt để thêm một chương trình tùy chỉnh. Điều hướng đến kịch bản VBoxManage của bạn và kích OK. Lịch trình công việc của bạn cho bất kỳ tùy chọn (chúng tôi sẽ thay đổi điều này trong một phút) và tiếp tục. Sau khi bỏ qua màn hình kế tiếp, các cửa sổ sẽ yêu cầu bạn của những người bạn muốn chạy nhiệm vụ này, tôi muốn đề nghị hoặc là 'Administrator' hoặc tạo ra một người sử dụng đặc quyền mới. Hãy nhớ chúng ta không muốn can thiệp vào tài khoản nhân viên tiêu chuẩn trên máy tính tại bất kỳ điểm nào. Kích Next và kiểm tra hiển thị tùy chọn nâng cao cho nhiệm vụ này.

Đến cuối của hộp chạy thêm chuỗi 'startvm GridMachine của chúng tôi và đảm bảo rằng chạy chỉ khi đăng nhập là trái unticked. Truy cập vào nhiệm vụ kế hoạch tiếp theo và thay đổi lịch trình thả xuống tùy chọn 'khi nhàn rỗi', chọn số lượng thời gian bạn muốn máy tính để được nhàn rỗi trước khi chuyển sang tab tiếp theo.

Cuối cùng bỏ chọn tùy chọn trạng thái dừng công việc nếu nó đã được chạy số tiền X của thời gian, nhưng đánh dấu vào tùy chọn để ngăn chặn các nhiệm vụ nếu máy không còn nhàn rỗi.

tiến độ

Đó là sau đó cho các cửa sổ thiết lập máy chủ!

Tóm tắt thông tin

Trong phần này chúng tôi đã thiết lập một máy ảo để hoạt động như một nhân viên, cũng như cách thức mà chúng ta gọi và thực thi các kịch bản xử lý công việc của chúng tôi (cho bản thân mình một kịch bản PHP). Từ đây chúng ta nhìn vào cách thiết lập bản sao của các cửa sổ để khởi động máy ảo trong chế độ không đầu khi máy tính trở nên nhàn rỗi, và lưu trạng thái của nó khi người dùng tiếp tục sử dụng của máy. Hy vọng rằng vào thời điểm này, bạn đang nhìn thấy cách đơn giản nó là để thiết lập một hệ thống như vậy và đang nóng lòng muốn có được một số thí nghiệm sẽ cho mình!

Tiếp theo thời gian

Trong Phần 4 , chúng tôi sẽ xem xét sử dụng các công cụ để đảm bảo rằng bạn đang chạy các phiên bản mới nhất của các nguồn mã và dữ liệu để kết quả thu được là luôn luôn up-to-ngày với các thông tin kinh doanh mới nhất và logic.













Panorama Theme theo Themocracy

4 khách trực tuyến
2 khách, 2 chương trình, 0 thành viên
Max du khách hôm nay: 16 lúc 01:33 am UTC
Tháng này: 17 2011/01/09 23:27 UTC
Năm nay: 130 28-03-2011 10:40 pm UTC
Tất cả thời gian: 130 28-03-2011 10:40 pm UTC