忍者ブログ

Wordpressメモとかアフィめもとか

Wordpress,PHP,アフィリエイトとかの個人メモを記録していくよ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

lolipop の cronとか

lolipopでSSHログインし、perlなどのスクリプト実行時に負荷が高いと?プロセスがkillされる。

たとえば、ファイル100万件を読んで吐き出すだけのスクリプトとか。

で、このkillされる条件が良くわからないので色々やってみた。

case1
単純に100万件くらいを呼んで出す。

while(my $line = <IN>){

  ...
途中でkillされる

case2
case1のwhileループの中にselect(4引数のほうね)を使ってsleepさせながら実行。
時間によるけど成功する。sleepだと1秒未満が指定できないので、selectつかった

while(my $line = <IN>){
  select(undef, undef, undef, 0.000005);
  ...

成功


ただし、これをcronから実行させると共に失敗する。
失敗するのは開始からきっかり5分。

おそらく、cronから実行されるジョブは負荷に関係なく経過時間でkillされている。

case3
以下のスクリプトを手動で実行。
[test.pl]
#!/usr/bin/perl
use strict;
use warnings;
my $i;

print "start";
for($i = 0; $i < 361; $i++ ){
  sleep(1);
  if( ( $i % 30 ) == 0){
    # 30秒ごとにログ出す
    outlog($i); # yyyy/mm/dd hh24:mi:ss filename msgのフォーマットでログ出してる自作関数
  }
print "end";
}exit;
実行結果
2012/10/19 20:07:19 : # test.pl start
2012/10/19 20:07:20 : # test.pl 0
2012/10/19 20:07:50 : # test.pl 30
2012/10/19 20:08:20 : # test.pl 60
2012/10/19 20:08:50 : # test.pl 90
2012/10/19 20:09:20 : # test.pl 120
2012/10/19 20:09:50 : # test.pl 150
2012/10/19 20:10:20 : # test.pl 180
2012/10/19 20:10:50 : # test.pl 210
2012/10/19 20:11:20 : # test.pl 240
2012/10/19 20:11:50 : # test.pl 270
2012/10/19 20:12:20 : # test.pl 300
2012/10/19 20:12:50 : # test.pl 330
2012/10/19 20:13:20 : # test.pl 360
2012/10/19 20:13:20 : # test.pl end

→成功

ところが、上記の[test.pl]をlolipopのcronから実行すると

2012/10/19 20:17:01 : # test.pl start
2012/10/19 20:17:02 : # test.pl 0
2012/10/19 20:17:32 : # test.pl 30
2012/10/19 20:18:02 : # test.pl 60
2012/10/19 20:18:32 : # test.pl 90
2012/10/19 20:19:02 : # test.pl 120
2012/10/19 20:19:32 : # test.pl 150
2012/10/19 20:20:02 : # test.pl 180
2012/10/19 20:20:32 : # test.pl 210
2012/10/19 20:21:02 : # test.pl 240
2012/10/19 20:21:33 : # test.pl 270
2012/10/19 20:22:03 : # test.pl 300
5分後のログが最後になってる。
 
まとめ?
  • スクリプト手動実行時は負荷が高いものはその時点でkillされる
  • cronから実行すると、負荷に係らず開始から5分でkillされる

バッチプログラム作りにくいね。。。
cronから実行されるスクリプトからさらに子プロセスを呼び出して、親は終了するのならいけるんだろうか。。。

拍手[0回]

PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

ブログ内検索

最新コメント

広告

プロフィール

なんとなくはじめてみたよ

忍者ツールズプロフィールは終了しました

カウンター