Chúng tôi sử dụng các công nhân bánh răng PHP để chạy các tác vụ khác nhau song song. Tất cả mọi thứ hoạt động tốt, và tôi có kịch bản vỏ nhỏ ngớ ngẩn để quay chúng lên khi tôi muốn chúng. Là một lập trình viên (và do đó lười biếng), tôi muốn xem liệu tôi có thể xoay chúng lên thông qua một kịch bản mới nổi hay không.Khởi động nhiều cá thể mới nổi tự động
tôi đã tìm ra cách sử dụng các câu kệ dụ, vì vậy tôi có thể bắt đầu chúng với một số ví dụ:
description "Async insert workers"
author "Mike Grunder"
env SCRIPT_PATH="/path/to/my/script"
instance $N
script
php $SCRIPT_PATH/worker.php
end script
Và các công trình vĩ đại này, để bắt đầu với họ như vậy:
sudo start async-worker N=1
sudo start async-worker N=2
Các cách tôi muốn sử dụng những công nhân này là để quay lên một số người trong số họ (có thể một cho mỗi lõi, vv), và tôi muốn làm điều này khi khởi động. Để rõ ràng, tôi không cần kịch bản mới nổi để phát hiện số lõi. Tôi rất vui khi chỉ nói "làm 8 trường hợp", nhưng đó là lý do tại sao tôi muốn chạy nhiều. Có cách nào để tôi sử dụng mệnh đề "bắt đầu" trong một kịch bản mới nổi để tự động thực hiện điều này không?
Ví dụ: bắt đầu phiên bản 1, 2, 3, 4? Sau đó, có họ thoát khỏi tắt máy đúng cách?
Tôi cho rằng tôi có thể móc điều này vào tập lệnh init.d, nhưng tôi tự hỏi nếu mới bắt đầu có thể xử lý một cái gì đó như thế này, hoặc nếu ai đó đã tìm ra vấn đề này.
Chúc mừng các bạn!
Cảm ơn bạn rất nhiều! Tôi đã cố gắng để làm việc nó ra một cách tương tự, nhưng tôi đã thiếu bit 'nhiệm vụ', do đó, vòng lặp đầu tiên của vòng lặp sẽ chỉ chặn. Tuyệt vời. :) – mkgrunder
Bạn cũng nên kiểm tra http://stackoverflow.com/questions/12084025/restarting-upstart-instance-prcesses cho phép không chỉ bắt đầu nhiều phiên bản, mà còn ngăn chặn chúng. – Evgeny
Tôi đã đọc tài liệu nhưng tôi vẫn không hiểu, tại sao vòng lặp đó bị lặp lại trong lần lặp đầu tiên trừ khi đó là một nhiệm vụ?/cc @mkgrunder – Mahn