SendDataJob.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Jobs;
  3. use App\Service\ClearDataService;
  4. use Illuminate\Bus\Queueable;
  5. use Illuminate\Contracts\Queue\ShouldQueue;
  6. use Illuminate\Foundation\Bus\Dispatchable;
  7. use Illuminate\Queue\InteractsWithQueue;
  8. use Illuminate\Queue\SerializesModels;
  9. use Illuminate\Support\Facades\Log;
  10. use Illuminate\Console\Command;
  11. use Symfony\Component\Console\Input\InputInterface;
  12. use Symfony\Component\Console\Output\ConsoleOutput;
  13. use Symfony\Component\Console\Output\OutputInterface;
  14. class SendDataJob implements ShouldQueue
  15. {
  16. use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
  17. protected $data;
  18. /**
  19. * Create a new job instance.
  20. *
  21. * @return void
  22. */
  23. public function __construct($data)
  24. {
  25. $this->data = $data;
  26. }
  27. /**
  28. * Execute the job.
  29. *
  30. * @return void
  31. */
  32. public function handle()
  33. {
  34. file_put_contents('record2.txt',json_encode($this->data) .PHP_EOL,8);
  35. //数据要发送的地址
  36. $url = ClearDataService::getUrl($this->data);
  37. $return = $this->sendRequest($url,$this->data);
  38. // file_put_contents('send.txt',json_encode($return) .PHP_EOL,8);
  39. //输出信息 测试
  40. $this->echoMessage(new ConsoleOutput());
  41. }
  42. private function sendRequest($url,$data){
  43. $data = json_encode($data);
  44. $header[] = "Content-Type:application/json";
  45. $ch=curl_init($url);
  46. curl_setopt($ch,CURLOPT_POST,1);
  47. curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
  48. curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
  49. curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
  50. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  51. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  52. $response=curl_exec($ch);
  53. $response=json_decode($response,true);
  54. if(curl_errno($ch) ){
  55. sc(curl_error($ch));
  56. }
  57. return $response;
  58. }
  59. protected function echoMessage(OutputInterface $output)
  60. {
  61. $output->writeln('2222222');
  62. }
  63. }