magento show cron job list
2015-11-18 16:24
513 查看
https://gist.github.com/werdan/5827225
<?php | |
// shell/listAllCron.php | |
require_once 'abstract.php'; | |
class Mage_Shell_CronLister extends Mage_Shell_Abstract | |
{ | |
public function run() | |
{ | |
$cronJobs = Mage::app()->getConfig()->getNode('crontab/jobs'); | |
$outputFormat = "%-60s %-20s %-50s"; | |
printf($outputFormat . "\n", "Job name", "m h dom mon dow", "Object::Method to execute"); | |
$lines = "Job name, m h dom mon dow, Object::Method to execute"; | |
foreach($cronJobs->children() as $key => $job) { | |
$expr = trim((string) $job->schedule->cron_expr); | |
$datas[$key] = sprintf($outputFormat, trim($job->getName()), $expr, trim((string) $job->run->model)); | |
$datas_csv[$key] = array(trim($job->getName()), $expr, trim((string) $job->run->model)); | |
} | |
uksort($datas, array($this, 'compareTimes')); | |
foreach($datas as $job) { | |
echo $job . "\n"; | |
} | |
} | |
public function compareTimes($time1, $time2) | |
{ | |
$times1 = explode(' ', $time1); | |
$times2 = explode(' ', $time2); | |
if(( ! isset($times1[1])) || ($times1[1] == '*')) return -1; | |
if(( ! isset($times2[1])) || ($times2[1] == '*')) return 1; | |
$times1[1] = (int) trim($times1[1]); | |
$times2[1] = (int) trim($times2[1]); | |
$times1[0] = (int) trim($times1[0]); | |
$times2[0] = (int) trim($times2[0]); | |
if($times1[1] != $times2[1]) { | |
$res = ($times1[1] - $times2[1]) * 1000; | |
return $res; | |
} | |
return $times1[0] - $times2[0]; | |
} | |
} | |
$cronLister = new mage_Shell_CronLister(); | |
$cronLister->run(); |
相关文章推荐
- Hog + svm 人流量检测方法总结
- 比较kmalloc/vmalloc/get_free_pages
- 静态变量初始化与不初始化的区别
- jquery中的prop与attr区别
- 移动端开发技巧
- XML解析
- excel 快速填充所有非连续空白单元格
- js中的闭包
- android AnimatorSet AnimationSet 的区别
- oracle数据库跨库查询
- 微软算法100道题-----判断整数序列是不是二元查找树的后序遍历结果
- 使用JS输出一个二维数组
- Android重力感应代码例子
- coderforce 545B. Equidistant String
- storm中使用jdbc向mysql进行批量插入的坑
- HBase集群无法读写数据
- Android数据库高手秘籍(一)——SQLite命令
- oc编程:电影院买票系统-----思路
- eclipse 配置黑色主题
- eclipse设置