123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- namespace huolib\queue\job;
- use huomp\controller\order\OrderOut;
- use think\queue\Job;
- class OrderQrFire extends Fire {
- static $g_i = 0;
-
- public function fire(Job $job, $data) {
- self::$g_i++;
- $_is_job_done = $this->doJob($data);
- $runtime = round(microtime(true) - THINK_START_TIME, 10);
- echo $runtime.' '.self::$g_i;
- if ($_is_job_done) {
-
- $job->delete();
- } else {
- if ($job->attempts() > 3) {
-
- $job->delete();
-
-
- }
- }
- }
-
- public function doJob($data) {
- $_order_id = isset($data['order_id']) ? $data['order_id'] : '';
- if (empty($_order_id) && !empty($data['mem_id']) && !empty($data['app_id'])) {
- $_mem_id = $data['mem_id'];
- $_app_id = $data['app_id'];
- $_rs = (new OrderOut())->genMemAppQrCodeQueue($_mem_id, $_app_id);
- } elseif (!empty($_order_id)) {
- $_rs = (new OrderOut())->genOrderQrQueue($_order_id);
- } else {
- $_rs = false;
- }
- return $_rs;
- }
- }
|