xxxrrrdddd 3 rokov pred
rodič
commit
f1f63721fd
3 zmenil súbory, kde vykonal 45 pridanie a 19 odobranie
  1. 19 0
      commands/mobile_activity.php
  2. 23 0
      commands/mobile_order_expired.php
  3. 3 19
      work

+ 19 - 0
commands/mobile_activity.php

@@ -0,0 +1,19 @@
+<?php
+use app\common\model\Mobile;
+use Workerman\Worker as WO;
+
+$work=new WO();
+$work->onWorkerStart=function ($conn){
+    while (true){
+        $ids=Mobile::where('activity_time_end','<=',time())
+            ->where('is_activity',1)
+            ->where('type',1)
+            ->column('id');
+        //user_log('mobileActivityExpired',"找到".count($ids).'条记录');
+        foreach ($ids as $id){
+            $mobile=Mobile::find($id);
+            $mobile->makeNotActivity();
+        }
+        sleep(3);
+    }
+};

+ 23 - 0
commands/mobile_order_expired.php

@@ -0,0 +1,23 @@
+<?php
+use app\common\model\MobileOrder;
+use think\Db;
+use think\Log;
+use Workerman\Worker as WO;
+
+$work=new WO();
+$work->onWorkerStart=function ($conn){
+    while (true){
+        $orders= MobileOrder::expired()->field('id')->select();
+        foreach ($orders as $order){
+            try {
+                Db::startTrans();
+                $order=MobileOrder::where('id',$order['id'])->lock(true)->find();
+                $order->cancel();
+                Db::commit();
+            }catch (\Exception $e){
+                Log::error("关闭订单[$order->id]失败:{$e->getMessage()}");
+            }
+        }
+        sleep(3);
+    }
+};

+ 3 - 19
work

@@ -1,7 +1,6 @@
 #!/usr/bin/env php
 <?php
 
-use app\common\model\Mobile;
 use think\App;
 use Workerman\Worker as WO;
 
@@ -13,22 +12,7 @@ App::initCommon();
 WO::$logFile=sprintf('%s/workerman.log',RUNTIME_PATH);
 WO::$pidFile=sprintf('%s/workerman.pid',RUNTIME_PATH);
 
-$work=new WO();
-$work->onWorkerStart=function ($conn){
-    while (true){
-        $ids=Mobile::where('activity_time_end','<=',time())
-            ->where('is_activity',1)
-            ->where('type',1)
-            ->column('id');
-        //user_log('mobileActivityExpired',"找到".count($ids).'条记录');
-        foreach ($ids as $id){
-            $mobile=Mobile::find($id);
-            $mobile->makeNotActivity();
-        }
-        sleep(3);
-    }
-};
-$work->onWorkerStop=function (WO $work){
-    var_dump('close');
-};
+require __DIR__.'/commands/mobile_activity.php';
+require __DIR__.'/commands/mobile_order_expired.php';
+
 WO::runAll();