Эх сурвалжийг харах

[智价云] 药师帮队列更新

tangyuanwang 1 сар өмнө
parent
commit
ca55b39afe

+ 2 - 2
app/Http/Controllers/Manager/CollectSync/Product.php

@@ -28,7 +28,7 @@ class Product extends Controller
         $request->scene('data_cleadata_ysbang_syncning')->validate();
         $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
         $admin_id   = request('access_token.uid', 0); //用户ID
-        $message_data = ['page' => '1', 'limit' => 1000, 'admin_id' => $admin_id, 'is_admin' => $is_admin];
+        $message_data = ['page' => 1, 'limit' => 1000, 'admin_id' => $admin_id, 'is_admin' => $is_admin];
         YsbangProductJobs::dispatch($message_data);
         // YsbangProductJobs::dispatchSync($message_data);
         // 告知结果
@@ -47,7 +47,7 @@ class Product extends Controller
         $request->scene('data_yycheng_sync_syncning')->validate();
         $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
         $admin_id   = request('access_token.uid', 0); //用户ID
-        $message_data = ['page' => '1', 'limit' => 1, 'admin_id' => $admin_id, 'is_admin' => $is_admin];
+        $message_data = ['page' => 1, 'limit' => 1000, 'admin_id' => $admin_id, 'is_admin' => $is_admin];
         YychengProductJobs::dispatch($message_data);
         // YychengProductJobs::dispatchSync($message_data);
         // 告知结果

+ 14 - 2
app/Jobs/Manager/CollectData/Ysbang/YsbangProductDataJobs.php

@@ -9,11 +9,12 @@ use Illuminate\Foundation\Bus\Dispatchable;
 use Illuminate\Queue\InteractsWithQueue;
 use Illuminate\Queue\SerializesModels;
 use App\Facades\Servers\Logs\Log;
-use App\Models\Manager\Collect\ScrapeTmpData as ScrapeTmpDataModel;//临时采集数据表
-use App\Models\Manager\Collect\ScrapeData as ScrapeDataModel;//采集数据表
+use App\Models\Manager\Collect\ScrapeTmpData as ScrapeTmpDataModel; //临时采集数据表
+use App\Models\Manager\Collect\ScrapeTmpData as ScrapeDataModel; //采集数据表
 use Illuminate\Support\Facades\Cache;
 use App\Models\Manager\CollectData\Ysbang\Store as YsbangStoreModel;
 use App\Models\Manager\Citys as CitysModel;
+use App\Jobs\Manager\CollectData\Ysbang\YsbangProductJobs;
 
 /**
  * 采集数据-药师帮数据处理
@@ -123,6 +124,17 @@ class YsbangProductDataJobs implements ShouldQueue
                     $ScrapeTmpData->save();
                 }
             }
+            $queue_page =  $item['queue_page']; //页码
+            $queue_now_limit =  $item['queue_now_limit']; //当前处理条数
+            $queue_limit =  $item['queue_limit']; //每页处理条数
+            $queue_total =  $item['queue_total']; //总条数
+            if ($queue_now_limit == $queue_limit) {
+                // //继续执行下一页
+                $message_data['page'] = $queue_page + 1;
+                $message_data['limit'] = $queue_limit;
+                $message_data['total'] = $queue_total;
+                YsbangProductJobs::dispatch($message_data);
+            }
         } catch (\Exception $e) {
             Log::info('job_error', '采集数据-药师帮数据处理队列失败', ['data' => $this->message_data, 'error' => $e->getMessage()]);
         }

+ 6 - 9
app/Jobs/Manager/CollectData/Ysbang/YsbangProductJobs.php

@@ -65,17 +65,14 @@ class YsbangProductJobs implements ShouldQueue
                 Log::info('job_info', '采集数据-药师帮数据同步队列,执行完毕', ['data' => ['page' => $page, 'limit' => $limit, 'totle' => $totle_data], 'message' => '没有数据可同步']);
                 return true;
             }
-            $list_data = $list_config_data['data'];
             $total = $list_config_data['total'];
-            YsbangStoreJobs::dispatch($list_data);
-            // YsbangStoreJobs::dispatchSync($list_data);
+            $request_data['data'] = $list_config_data['data'];
+            $request_data['queue_page'] = $page;
+            $request_data['queue_limit'] = $limit;
+            $request_data['queue_total'] = $total;
+            YsbangStoreJobs::dispatch($request_data);
+            // YsbangStoreJobs::dispatchSync($request_data);
             Log::info('job_info', '采集数据-药师帮数据同步队列日志', ['data' => ['page' => $page, 'limit' => $limit, 'totle' => $total]]);
-            
-            //继续执行下一页
-            $message_data['page'] = $page + 1;
-            $message_data['limit'] = $limit;
-            $message_data['total'] = $total;
-            $this->dispatch($message_data);
         } catch (\Exception $e) {
             Log::info('job_error', '采集数据-药师帮数据同步队列失败', ['error' => $e->getMessage()]);
         }

+ 7 - 3
app/Jobs/Manager/CollectData/Ysbang/YsbangStoreJobs.php

@@ -39,13 +39,17 @@ class YsbangStoreJobs implements ShouldQueue
      */
     public function handle()
     {
-        
-        $list_data = $this->message_data;
+
+        $list_data = $this->message_data['data'];
         if (empty($list_data)) return true;
         try {
             foreach ($list_data as $key => $item) {
+                $item['queue_now_limit'] =  $key + 1;
+                $item['queue_page'] =  $this->message_data['queue_page'];
+                $item['queue_limit'] =  $this->message_data['queue_limit'];
+                $item['queue_total'] =  $this->message_data['queue_total'];
                 YsbangProductDataJobs::dispatch($item);
-                // YsbangProductDataJobs::dispatchSync($insert_data);
+                // YsbangProductDataJobs::dispatchSync($item);
             }
         } catch (\Exception $e) {
             Log::info('job_error', '采集数据-药师帮店铺数据同步队列失败', ['error' => $e->getMessage()]);

+ 1 - 1
app/Jobs/Manager/CollectData/Yycheng/YychengProductDataJobs.php

@@ -10,7 +10,7 @@ use Illuminate\Queue\InteractsWithQueue;
 use Illuminate\Queue\SerializesModels;
 use App\Facades\Servers\Logs\Log;
 use App\Models\Manager\Collect\ScrapeTmpData as ScrapeTmpDataModel; //临时采集数据表
-use App\Models\Manager\Collect\ScrapeTmpData as ScrapeDataModel; //采集数据表
+use App\Models\Manager\Collect\ScrapeData as ScrapeDataModel; //采集数据表
 use Illuminate\Support\Facades\Cache;
 use App\Models\Manager\CollectData\Yycheng\Store as YychengStoreModel;
 use App\Models\Manager\Citys as CitysModel;