Monitor.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. namespace rest\index\controller;
  3. use think\Controller;
  4. class Monitor extends Controller
  5. {
  6. public $m;
  7. public function startQueue()
  8. {
  9. $this->m = db('queue');
  10. $r = $this->m->select();
  11. foreach ($r as $k => $v) {
  12. $message = json_decode($v['message'],true);
  13. extract($message);
  14. if(empty($module)) $module = "User";
  15. //var_dump($parameter);
  16. //var_dump("{$module}/{$controller}/{$action}");
  17. $r = action("{$module}/{$controller}/{$action}",$parameter);
  18. if($r){
  19. $this->m->delete($v['id']);
  20. }
  21. //var_dump($r);
  22. }
  23. }
  24. function logSqlToDb(){
  25. $files = glob(RUNTIME_PATH."*.sql");
  26. foreach ($files as $k=>$file){
  27. $pathinfo = pathinfo($file);
  28. $id = $pathinfo['filename'];
  29. if(!is_numeric($id)) continue;
  30. $sqlContent = file_get_contents($file);
  31. //$sqlContent = addslashes($sqlContent);
  32. $r = \think\Db::name('LogRequest')->where(['id'=>$id])->update(['response'=>$sqlContent]);
  33. //echo \think\Db::name('LogRequest')->getLastSql();
  34. if($r){
  35. unlink($file);
  36. }
  37. }
  38. }
  39. /**
  40. * 用于处理队列
  41. * 必须定义接受参数,否则接受不到列表分发器传过来的参数
  42. * @param $content
  43. */
  44. function alarm(string $content){
  45. try{
  46. $admin_mail = config('admin_eamil');
  47. if($admin_mail){
  48. $r = sendmail("出错啦!",$content,$admin_mail,'');
  49. if($r) return true;
  50. }
  51. }catch (\Exception $e){
  52. tplog('邮件发送失败');
  53. }
  54. return false;
  55. }
  56. /**
  57. * 用于处理队列
  58. * 必须定义接受参数,否则接受不到列表分发器传过来的参数
  59. * @param $content
  60. */
  61. function alarm_sms(string $content){
  62. try{
  63. //发短信提示课程拥有者
  64. //$mobile = getMobileOfCourseOwner();
  65. $mobile = '13100001111';
  66. $content = cn_substr_utf8($content,40);
  67. $template_id = 'SMS_123';
  68. $d = [];
  69. $d['mobile'] = $mobile;
  70. $d['content'] = "content:{$content} ";
  71. $d['ip'] = get_client_ip();
  72. $sms_id = db('SmsQueue')->add($d);
  73. $r = send_sms_system($mobile, ['content'=>$content],$template_id,$sms_id);
  74. }catch (\Exception $e){
  75. tplog('新评论提示符短信发送失败');
  76. }
  77. }
  78. }