記録

cronの設定数に制限があるさくらサーバーとかで制限以上に使う方法(´Д`)

cronの設定数に制限があるさくらサーバーとかで制限数以上(cron設定を増やす方法 )に使う方法はないかなと考えた結果、自分はこうしました。 一つのPHPファイル(実行ファイル)から複数のファイルをキックすることに!(´Д`) こうすれば、処理が遅くないファイルなら複数個でも実行できるのではないかと 思ったわけです。結果的に成功しているぽっいです。 ※Shellで作れる人は作れるだろうけど自分には無理(´∀`*)ポッいのでPHPで制作しました。 ちなみにさくらレンタルサーバーの場合、php.iniにタイムゾーン設定を 加えてあげてください(date.timezone = Asia/Tokyo ←追加)。 そうしないと動かない恐れがあります。 作っていて思ったことですが、作る考え方はわかるものの、元々メソッドを覚えていない 人間なのでググってメソッド探しにまずヘタりました( ´Д`)=3。その後、完璧なハズとか 思ってソースを実行させるとエラーは出ないものの。思った通りうごかないという事象に 苦しめられること2時間、何でだろうとか思っていて検証してみた結果、メソッドの使い方が 間違っていたり、変数名が間違っていたりとなんとも言えない無情さに襲われましたが 何とか動作するようになったみたいなのでコードをうっぷします。 ソースコードを記載しときます。動作するとは 思いますが誤作動するかもしれないので保証はしません。なお、いつもながら ソースにはコメントを記載しておりませんのでトレースしてください。 PHPファイルのDLはこちらから( ´Д`)=3?(最終更新日2015/01/12 11:07) 追記2 改良しました。{*改良版はこちら*} ※このPHPファイルを5分置きにキックしていますΣ(゚∀´(┗┐ヽ(・∀・ )ノ。
<?php
	$time_h = array("*","1,2,3,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23","*");
	$time_m = array("*/5","5,10,15,30,45,50,55","0");
	$file_name = array("/home/zen-do/www/zip358.com/index.php","/home/zen-do/www/zip358.com/twitterbot/index-2.php","/home/zen-do/www/zip358.com/twitterbot/index-1.php");
	$h = date("H");
	$m = intval(date("i"));
	$cnt = 0;
	foreach($time_h as $h_ary){
		$chk_h = chk($h_ary);
		if(is_array($chk_h)){
			if(chk2($chk_h,$h)){
				$chk_m = chk($time_m[$cnt]);
				if(chk4($chk_m,$time_m[$cnt],$m,$file_name[$cnt]));
			}
		}else{
			if(chk3($time_h[$cnt],$chk_h,$h)){
				$chk_m = chk($time_m[$cnt]);
				if(chk4($chk_m,$time_m[$cnt],$m,$file_name[$cnt]));
			}
		}
		$cnt++;
	}
	function chk($chk_hoge){
		if(strcmp($chk_hoge,"*") == 0 ){
			return "*";
		}
		if(strstr($chk_hoge,"*/")){
			return mb_substr($chk_hoge,2,strlen(chk_hoge)-2);
		}
		if(strstr($chk_hoge,",")){
			return explode(",",$chk_hoge);
		}
		return $chk_hoge;
	}
	function chk2($chk_hoge,$H_or_M){
		foreach($chk_hoge as $hoge){
				if($H_or_M == $hoge){
					return true;
				}
			}
			return false;
	}
	function chk3($chk_H_or_M,$chk_hoge,$H_or_M){
		if(strcmp($chk_hoge,"*") == 0 ){
			return true;
		}elseif(strstr($chk_H_or_M , "*/")){
			if($H_or_M % $chk_hoge == 0){
				return true;
			}else{
				return false;
			}
		}else{
			if($H_or_M == $chk_hoge){
				return true;
			}else{
				return false;
			}
		}
		return false;
	}
	function chk4($chk_hoge,$chk_hoge2,$m,$file_name){
		if(is_array($chk_hoge)){
			if(chk2($chk_hoge,$m)){
				if(shell_exec("/usr/local/bin/php -f ".$file_name))echo "/usr/local/bin/php -f ".$file_name;
				return true;
			}
		}else{
			if(chk3($chk_hoge2,$chk_hoge,$m)){
				if(shell_exec("/usr/local/bin/php -f ".$file_name))echo " /usr/local/bin/php -f ".$file_name;
				return true;
			}
		}
		return false;
	}
?>

活動支援よろしくお願いします

TweetDeckって言うWindowアプリ使ってます。(`・ω・´)キリ。前のページ

パスワードのチョメチョメ(***)が見えるソフト(Windows)はこれ(ノ´∀`*)次のページ

関連記事

  1. 記録

    働く人達。

    学生時代にいろいろなお仕事を経験することは良いことだと思います。自分…

  2. 記録

    HDMI,D-SUB,DVI-Dで三画面とか無理!(パソコンの話)

    HDMI,D-SUB,DVI-Dで三画面とか無理!、半分本当で半分ウ…

  3. 記録

    新妻免疫塾 K&L Immunology Club

    免疫のことを優しく解説しているサイト、YOUTUBEというカテ…

  4. 記録

    フリーランスで稼ぐというのは大変ですよ。

    フリーランスで稼ぐというのは大変ですよという言葉に尽きると思うですよ…

  5. 記録

    「二郎は鮨の夢を見る」と言う映画を観ました。

    「二郎は鮨の夢を見る」と言う映画を観ました。NHKのプロフェッショ…

2015年1月
 1234
567891011
12131415161718
19202122232425
262728293031  

カテゴリー

PAGE TOP