ActionService.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace App\Modules\WechatMaterial\Services;
  3. use App\Jobs\ActionTrigger;
  4. use GuzzleHttp\Client;
  5. use Redis;
  6. /**
  7. * 埋点类
  8. *
  9. */
  10. class ActionService
  11. {
  12. /**
  13. * 扔行为到队列中
  14. * @param int $distribution_channel_id
  15. * @param array $base_param
  16. * @param array $extra_param
  17. */
  18. static function PushActionToQueue($params = [],$queue='{batch_wechat_material_action_trigger_list}')
  19. {
  20. try {
  21. $param = [];
  22. $param['send_time'] = date("Y-m-d H:i:s");
  23. $param['ip'] = get_client_ip();
  24. $param['action_type'] = $params['action_type'];
  25. $param['data'] = $params;
  26. $send_data = array(
  27. 'send_time' => date("Y-m-d H:i:s"),
  28. 'data' => $param
  29. );
  30. \Log::info('PushActionToQueue_send_data:');
  31. \Log::info($send_data);
  32. $delay = 0;
  33. $job = (new ActionTrigger($send_data))->onConnection('rabbitmq')->delay($delay)->onQueue($queue);
  34. dispatch($job);
  35. } catch (\Exception $e) {
  36. \Log::info('PushActionToQueue_ept:' . $e->getMessage());
  37. }
  38. }
  39. }