You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 line
1.4 KiB

3 年之前
  1. <?php
  2. namespace Api\Controller;
  3. use Think\Controller;
  4. /*
  5. 由网站前台脚本触发的周期任务
  6. */
  7. class ScriptCronController extends BaseController {
  8. public function run(){
  9. set_time_limit(100);
  10. ini_set('memory_limit','800M');
  11. ignore_user_abort(true);
  12. //定期清理已删除项目和已删除页面
  13. $this->clean_deleted_data();
  14. }
  15. //定期清理已删除项目和已删除页面
  16. public function clean_deleted_data(){
  17. //30天前的已删除项目
  18. $items = D("Item")->where(" is_del = 1 and last_update_time < ".(time() - 30*24*60*60))->select();
  19. if ($items) {
  20. foreach ($items as $key => $value) {
  21. $ret = D("Item")->delete_item($value['item_id']);
  22. }
  23. }
  24. $pages = D("Page")->where(" is_del = 1 and addtime < ".(time() - 30*24*60*60))->select();
  25. if ($pages) {
  26. foreach ($pages as $key => $value) {
  27. $ret = D("Page")->deletePage($value['page_id']);
  28. }
  29. }
  30. $pages = D("Recycle")->where(" del_time < ".(time() - 30*24*60*60))->select();
  31. if ($pages) {
  32. foreach ($pages as $key => $value) {
  33. $ret = D("Page")->deletePage($value['page_id']);
  34. D("Recycle")->where(" id = '$value[id]' ")->delete();
  35. }
  36. }
  37. }
  38. }