1
0

taskAction.php 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. //计划任务列表控制器
  3. class taskClassAction extends Action
  4. {
  5. public function getrunlistAjax()
  6. {
  7. $barr = m('task')->getlistrun($this->date);
  8. $this->returnjson($barr);
  9. }
  10. public function starttaskAjax()
  11. {
  12. $lx = (int)$this->get('lx','0');
  13. $tobj = m('task');
  14. $tobj->cleartask();
  15. if($lx==0){
  16. $carr = $tobj->pdlocal();
  17. if(!$carr['success'])return $carr;
  18. $barr = $tobj->starttask();
  19. if($barr['success']){
  20. return returnsuccess('启动成功');
  21. }else{
  22. return returnsuccess('无法启动可能未开启服务端:'.$barr['msg'].'');
  23. }
  24. }else{
  25. if($lx==1){
  26. $barr = c('xinhuapi')->starttask();
  27. if($barr['success'])$barr['data'] = '已通过官网服务开启计划任务';
  28. }
  29. if($lx==2){
  30. $barr = c('xinhuapi')->stoptask();
  31. if($barr['success'])$barr['data'] = '已停止使用官网计划任务';
  32. }
  33. return $barr;
  34. }
  35. }
  36. public function clearztAjax()
  37. {
  38. m('task')->update('state=0,lastdt=null,lastcont=null','1=1');
  39. }
  40. public function downbatAjax()
  41. {
  42. $ljth = str_replace('/','\\',ROOT_PATH);
  43. echo '<title>计划任务开启方法</title>';
  44. echo '<font color="red">如您有安装信呼服务端,就不用根据下面来开启计划任务了</font><br><a target="_blank" style="color:blue" href="'.URLY.'view_taskrun.html">查看官网上帮助</a><br>';
  45. echo '计划任务的运行时间需要设置为5的倍数才可以运行到。<br>';
  46. echo '一、<b>Windows服务器</b>,可根据以下设置定时任务<br>';
  47. $str1 = '@echo off
  48. cd '.$ljth.'
  49. '.getconfig('phppath','php').' '.$ljth.'\task.php runt,task';
  50. $this->rock->createtxt(''.UPDIR.'/cli/xinhutaskrun.bat', $str1);
  51. echo '1、打开系统配置文件webmainConfig.php加上一个配置phppath设置php环境的目录地址如:F:\php\php-5.6.22\php.exe,设置好了,刷新本页面。<br>';
  52. echo '<div style="background:#caeccb;padding:5px;border:1px #888888 solid;border-radius:5px;">';
  53. echo "return array(<br>'title' =>'信呼OA',<br>'phppath' => 'F:\php\php-5.6.22\php.exe' <font color=#aaaaaa>//加上这个,路径如果有空格请加入环境变量,这个设置为php即可</font><br>)";
  54. echo '</div>';
  55. echo '2、在您的win服务器上,开始菜单→运行 输入 cmd 回车(管理员身份运行),输入以下命令(每5分钟运行一次):<br>';
  56. echo '<div style="background:#caeccb;padding:5px;border:1px #888888 solid;border-radius:5px;">';
  57. echo 'schtasks /create /sc DAILY /mo 1 /du "24:00" /ri 5 /sd "2017/04/01" /st "00:00:05" /tn "信呼计划任务" /ru System /tr '.$ljth.'\\'.UPDIR.'\cli\xinhutaskrun.bat';
  58. echo '</div>';
  59. $str1 = 'cd '.ROOT_PATH.''.chr(10).'php '.ROOT_PATH.'/task.php runt,task';
  60. $spath= ''.UPDIR.'/cli/xinhutaskrun.sh';
  61. $this->rock->createtxt($spath, $str1);
  62. echo '<br>二、<b>Linux服务器</b>,可用根据以下设置定时任务<br>';
  63. echo '根据以下命令设置运行:<br>';
  64. echo '<div style="background:#caeccb;padding:5px;border:1px #888888 solid;border-radius:5px;"><font color=blue>chmod</font> 777 '.ROOT_PATH.'/'.$spath.'<br>';
  65. echo '<font color=blue>crontab</font> -e<br>';
  66. echo '#信呼计划任务每5分钟运行一次<br>';
  67. echo '*/5 * * * * '.ROOT_PATH.'/'.$spath.'</div>';
  68. echo '<br><br>三、<b>浏览器窗口运行</b>,用于你的是虚拟主机没办法管理服务器时<br>';
  69. echo '打开<a href="?m=task&a=queue&d=system" style="color:blue">[计划任务队列]</a> 来启用计划任务。<br>';
  70. }
  71. public function queueAction()
  72. {
  73. $this->title = '计划任务队列';
  74. $tasklist = m('task')->getrunlist('',1);
  75. $this->smartydata['tasklist'] = $tasklist;
  76. }
  77. }
粤ICP备19079148号