ドキュメント
利用事例例
Alonは、最新のセキュリティアップデートですべてのTurnKey Linux アプライアンスをリフレッシュしたいです。
引数としてアプライアンスの名前を受け入れるスクリプトを書いて、 Sourceforgeから最新バージョンをダウンロードし、rootファイルシステムを抽出し、セキュリティをインストールします。 更新, ルートのファイルシステムをアプライアンス ISOに再パッケージし、アプライアンスの新しいバージョンをアップロードして Sourceforgeに戻します.
ローカルUbuntuのワークステーションでスクリプトをテストした後、ハブに新しいTurnKey Coreインスタンス(88.1.2.3)を起動し、スクリプトを転送し、依存関係を一切インストールするように依頼 作業をするためにすべてのテストが行われると、マスターワーカーサーバの状態をキャプチャして新しいTKLBAMバックアップを作成します。
アロンは最初のクラウドタスクテストを実行します。
echo core | cloudtask --workers=88.1.2.3 refresh-iso-security-updates
単一のテストジョブが正しく機能しているか確認したら、10サーバで実行されるビッグバッチジョブが並列で準備が整いました。
これは、定期的なタスクであるアロンは定期的に繰り返すことを期待しているので、$HOME /クラウドタスクで設定済みのクラウドタスクテンプレートを作成します。
$ mkdir $HOME/cloudtasks
$ cd $HOME/cloudtasks
$ cat > refresh-iso << 'EOF'
from cloudtask import Task
class RefreshISO(Task):
DESCRIPTION = "This task refreshes security updates on an ISO"
BACKUP_ID = 123
COMMAND = 'refresh-iso-security-updates'
SPLIT = 10
REPORT = 'mail: cloudtask@example.com alon@example.com liraz@example.com'
HUB_APIKEY = 'BRDUKK3WDXY3CFQ'
RefreshISO.main()
EOF
$ chmod +x ./refresh-iso
$ cat $PATH_LIST_APPLIANCES | ./refresh-iso
About to launch 10 cloud servers to execute the following task:
Parameter Value
--------- -----
jobs 40 (appengine .. zimbra)
command refresh-iso-security-updates
hub-apikey 5YGVPEMHJHU5EA
ec2-region us-east-1
ec2-size m1.small
ec2-type s3
user root
backup-id 123
workers -
overlay -
post -
pre -
timeout -
report mail: cloudtask@turnkeylinux.org liraz@turnkeylinux.org
Is this really what you want? [yes/no] yes
session 11 (pid 29709)
88.178.132.231 (29721): launched new worker
88.214.141.175 (29722): launched new worker
88.15.179.7 (29724): launched new worker
88.229.38.128 (29723): launched new worker
...
あと45分後、Alonはジョブが終了したクラウドタスクからメールを受信します。 体内では、エラーがどのジョブ(例えば、ゼロの終了コード)で検出されたか、セッションが実行する時間など、詳細にセッションログです。
彼が望んでいたのは、Alon は、ワーカーログファイルを tail することで、タスクジョブの実行をリアルタイムでフォローできます。
tail -f ~/.cloudtask/11/workers/29721