@Blog
過去の蓄積を見るために書く日記.

cronの設定数に制限があるさくらサーバーとかで制限以上に使う方法(´Д`)
2015.01.12
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
//5分刻みに対して有効な無限クローン 処理が負荷の場合どうなるかは知りません。
date_default_timezone_set('Asia/Tokyo');
class cron{
public function d_m($obj)
{
if($obj->m==="*")return true;
if(preg_match("/,/",$obj->m))return $this->comma($obj->m,date("m"));
if((int)$obj->m === (int)date("m"))return true;
return false;
}
public function d_d($obj)
{
if($obj->d==="*")return true;
if(preg_match("/,/",$obj->d))return $this->comma($obj->d,date("d"));
if((int)$obj->d === (int)date("d"))return true;
return false;
}
public function d_H($obj)
{
if(preg_match("/\*\/[0-9]{1,2}/",$obj->H)){
$H = explode("/",$obj->H);
if((int)$H[1]>0 && ((int)date("H") % (int)$H[1])===0)return true;
}else{
if($obj->H==="*")return true;
if(preg_match("/,/",$obj->H))return $this->comma($obj->H,date("H"));
if((int)$obj->H === (int)date("H"))return true;
}
return false;
}
public function d_i($obj)
{
if(preg_match("/\*\/[0-9]{1,2}/",$obj->i)){
$i = explode("/",$obj->i);
if((int)$i[1]>0 && ((int)date("i") % (int)$i[1])===0)return true;
}else{
if($obj->i==="*")return true;
if(preg_match("/,/",$obj->i))return $this->comma($obj->i,date("i"));
if((int)$obj->i === (int)date("i"))return true;
}
return false;
}
//曜日 0=日曜日 6=土曜日
public function d_w($obj)
{
if((int)$obj->w[date("w")]===1)return true;
return false;
}
public function comma($c="",$t=""){
if($c==="")return false;
if($t==="")return false;
$flg = false;
foreach(explode(",",$c) as $cc){
if((int)$cc===(int)$t)$flg = true;
}
return $flg;
}
public function d_command($obj){
if($obj->command){
exec($obj->command . " > /dev/null &");
}
return true;
}
}
if ($argv[1]) {
$filename = $argv[1];
if(is_file($filename)){
$jsn = json_decode(file_get_contents($filename));
$cron = new cron();
try {
foreach($jsn as $obj){
if($cron->d_m($obj)){
if($cron->d_d($obj)){
if($cron->d_H($obj)){
if($cron->d_i($obj)){
if($cron->d_w($obj)){
$cron->d_command($obj);//波動拳{{{{
}
}
}
}
}
}
} catch (\Throwable $th) {
print $th->getMessage();
}
}
}
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
3, Asia, cron, date, ini, php, shell, timezone, Tokyo, いの, キック, こと, サーバー, さくら, ゾーン, タイム, パス, ファイル, ヘタ, ボツ, メソッド, レンタル, わけ, 一つ, 人, 人間, 処理, 制作, 制限, 場合, 完璧, 実行, 後, 成功, 方法, 無理, 結果, 考え方, 自分, 複数, 複数個, 設定, 追加,

7日間で人生を変える旅を読んでみて(`・ω・´)
2014.09.02
7日間で人生を変える旅を読んでみて、自分も旅に行きたいという気持ちになること間違いなし?。安価で海外旅行を楽しめる方法を簡潔に書いている本です。読んでいるとそれだけで旅に行った気分にもさせてくれる本でもあります。ただ、安価な旅プランなので道中のトラブルに関して対応できる英会話力がそれなりに必要になります。
「7日間で人生を変える旅」の本、一冊とあとは自分で詳細な旅プランを計画する事で、かんたんに、いろいろな海外の観光地を旅することがができる本になっています。
ちなみに、この本が出版されてから数年経過していますので、LCC(格安航空会社)などを使用すればもっと安価な旅行ができるはずです。
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
7, LCC, あと, いろいろ, かんたん, こと, それだけ, トラブル, パス, プラン, 一, 事, 人生, 会話力, 使用, 出版, 安価, 対応, 必要, 数, 方法, 旅, 旅行, 本, 格安, 気分, 気持ち, 海外, 海外旅行, 簡潔, 経過, 自分, 航空, 英, 観光地, 計画, 詳細, 道中,
NO LIMIT[ノーリミット]栗城史多さんの場合:自分を超える方法。
2014.08.22
依然、登山家、栗城史多さんが書かれたノーリミットと言う本を読みました。その後、アルプス?の登山時に凍傷で指を切断しないといけないという事になりました。しかし彼、栗城史多さんは切断しないという選択枠を模索していろいろと試した方です。結局、指を切断するという事に至ったのですが、その模索する過程で、もがき苦しみ、いろいろと学んだことがあると思います。自分が思うに指が無くなってからの方が、何だか真の登山家に見えてしまうのは自分だけなのかな?今は指を失った彼ですが、再生医療によりこの指が再生できるようになるのは、本当にあともう少しの話だと思います。ちなみに紛失した指や手を再生する技術は出来ています。あとは国の認可が降りるのを待つだけなのです{細胞外マトリックス:まとめ参照}。
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
LIMIT, no, あと, アルプス, いろいろ, こと, ノーリミット, まとめ, マトリックス, 事, 今, 再生, 凍傷, 切断, 医療, 参照, 史多, 国, 場合, 彼, 後, 手, 技術, 指, 方, 方法, 本, 本当, 栗城, 模索, 登山, 登山家, 真, 紛失, 細胞, 自分, 話, 認可, 過程, 選択枠,