|
帝国CMS借助宝塔计划任务定时审核文章
如果需要效率更高,采用多进程异步最好。前提还是得安装workerman。安装了也可以不用宝塔的计划任务了,因为workerman提供了两种定时器。
能给任意CMS与框架加速的!新版的5.0更强大了,支持Fiber协程,支持Swoole协程,支持Swow协程
代码如下:
- <?php
- defined('ECMSAPI_MOD') or exit;
- $fun = $api->load('fun');
- $enews=RepPostVar($_POST['enews']);
- if($enews=="audittiming"){//定时审核
- $notcheck = $api->load('db')->query('select id,newstime from [!db.pre!]ecms_article_check order by newstime asc');
- $currtime = time(); // 获取当前时间戳
- $check = [];
- if ($notcheck) {
- foreach ($notcheck as $i => $v) {
- if ($v['newstime'] < $currtime) {
- $check[$i]['ischecked'] = 1;
- $check[$i]['id'] = $v['id'];
- $check[$i]['newstime'] = date('Y-m-d H:i:s', $v['newstime']);
- if (!function_exists('GetHtml')) {
- require_once (ECMS_PATH . '/e/class/t_functions.php');
- require (ECMS_PATH . '/e/class/functions.php');
- }
- $api->load('table')->setChecked('article', $v['id'], 1);
- $article = $api->load('table')->get('article', $v['id']);
- GetHtml($article['classid'], $article['id'], $article, 1, 0);
- $cr=$empire->fetch1("select classid,addinfofen from {$dbtbpre}enewsclass where classid='$article[classid]'");
- $fen=$cr['addinfofen'];
- $sql=$empire->query("update {$dbtbpre}enewsmember set userfen=userfen+$fen where userid='$article[userid]'");
- } else {
- $check[$i]['ischecked'] = 0;
- $check[$i]['id'] = $v['id'];
- $check[$i]['newstime'] = date('Y-m-d H:i:s', $v['newstime']);
- }
- }
- $fun->json(1, $check, '操作成功');
- } else {
- $fun->json(0, '暂无待审核数据');
- }
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
温馨提示:本网站所展示的内容均由注册会员自行发布,这些内容仅代表作者本人的观点和立场,并不代表本网站的官方立场或意见。我们致力于打造一个开放的社区平台,鼓励用户自由表达和分享信息。然而,我们也明确声明,对于用户发布的内容,我们不承担任何法律责任。
|