vendredi 28 décembre 2018

Chunked file uploads with Laravel & AJAX

I try to create a script to upload large files, I send data through Ajax (It's work), but this did not solve the problem of large files, in the best circumstances, I can upload only 100 MB, and this is not good for the user, can you help me to add Chunked file uploads, Thank you

This is my HTML:

<form id="upload_form" method="POST" enctype="multipart/form-data">
 @csrf
 <input type="file" name="file" id="file-7" class="inputfile inputfile-6" />
<center>
   <a href="#" id="star_up" value="hide/show">
      <input class="btn btn-info btn-lg wow tada" id="sell_house_submit" type="submit" name="upload_file" value="@lang('lang.UPLOAD')">
   </a>
</center>
<div id="prog" style="display:none;">
    <progress id="progressBar" class="wow tada" style="@if(isMobile())width:200px;@else width:750px;@endif height: 10px;" value="0" max="100">
    </progress>
    <h3 class="av" id="status" ></h3>
    <p id="loaded_n_total" ></p>

My javascript:

$(document).ready(function(){

 $('#upload_form').on('submit', function(event){
   $.ajax({
   url:"",
   method:"POST",
   data: new FormData(this),
   xhr: function() {
        var myXhr = $.ajaxSettings.xhr();
        if(myXhr.upload){
            myXhr.upload.addEventListener('progress',progressHandler, false);
            myXhr.addEventListener("load", completeHandler, false);
            myXhr.addEventListener("error", errorHandler, false);
            myXhr.addEventListener("abort", abortHandler, false);
        }
        return myXhr;
    },
   dataType:'JSON',
   contentType: false,
   cache: false,
   processData: false,
   // IF SUCCESS
   success:function(data)
   {
      if (data.type_is == 'swal') {
        swal({
            title: data.title,
            html: data.html,
            showCloseButton: true,
            focusConfirm: false,
            type: data.status
        });
        jQuery('#progress_up').toggle('hide');
        document.getElementById('file-7').value = '';
        document.getElementById('name_file').innerHTML = '';
      } 
   }
  })
    event.preventDefault();
 });

});

Controller:

protected function upload(Request $request) {
  ini_set('max_execution_time', 3000);
  ini_set('memory_limit','256M');

  // UPLOAD FILE
  if (getValue('storage_type', 'disk') == 's3') {
     $path = Storage::disk('s3')->putFile('files', $request->file('file'));
     $storage = 's3';
  } else {
  $path = Storage::putFile('files', $request->file('file'));
  $storage = 'disk';
  }
  // RANDOM
  $link_id = Random();
  $delete_token = Random(50);
  $preview = Random(10);
  $ip = getip();

  $this->createFile($name, $path, $link_id, $delete_token, $ip, $preview, $size, $mime, $type, $storage);

  // FILE UPLOADED

  return response()->json([
     'title' => trans('lang.GREAT'),
     'html' => getFileInfoHTML($link_id, $delete_token, $name, $type, $preview),
     'type_is' => 'swal',
     'status' => 'success'
  ]);
}

I put the most important things only, I did not put the details of the file review and size ...., I just want to know how I can add the property and upload files without a large RAM :)



via Chebli Mohamed

all value is not inserted in my database (laravel-5.7)

I trying to insert value into database by form in laravel but my all value's is not inserted .
..insert only email,password,created_date
Here is my code of migration :-

    Schema::defaultStringLength(191);
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('fname');
        $table->string('lname');
        $table->string('email')->unique();
        $table->string('phone');
        $table->string('gender');
        $table->string('dob');
        $table->string('religion');
        $table->string('mtn');
        $table->string('country');
        $table->string('city');
        $table->string('district');
        $table->string('upozila');
        $table->timestamp('email_verified_at')->nullable();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });


here is code of controller :-

public function register(Request $request)
{
    $this->validation($request);
    User::create($request->all());
    return redirect('/');
}

public function validation($request)
{
    $validatedData = $request->validate([
    'fname' => 'required|max:255',
    'lname' => 'required|max:255',
    'email' => 'required|email|max:255|unique:users,email',
    'phone' => 'required|max:255',
    'gender' => 'required|max:255',
    'dob' => 'required|max:255',
    'religion' => 'required|max:255',
    'mtn' => 'required|max:255',
    'country' => 'required|max:255',
    'city' => 'required|max:255',
    'district' => 'required|max:255',
    'upozila' => 'required|max:255',
    'password' => 'required|min:6',
    'confirm_password' =>'required|min:6|same:password',

]);

}


here is my array = $request->all(); :

_token "wDRoDeLkOFX5re5nba2Ufv5pr0iKzYVCr0tK9EFE"
fname "nirab"
lname "nirax"
email "is@gmail.com"
phone "988907"
gender "male"
dob "2018-12-03"
religion "male"
mtn "male"
country "male"
city "male"
district "male"
upozila "male"
password "1234567"
confirm_password "1234567"



via Chebli Mohamed

Laravel - return data group by month(and sum) and group by year

I have this function below, which i got to it thanks to the help of everyone in this question:

$records = TabelaAngariacao::select('preco', 'created_at')
            ->where('estado', '=', 'Vendido')
            ->get()
            ->groupBy(function($date) {
                return Carbon::parse($date->created_at)->format('m');
            })->transform(function ($value) { //it can also be map()

                $nStr = $value->map(function ($vl) {
                    return str_replace(".", "", $vl->preco);
                });
                return [
                    'preco_sum' => $nStr->sum()
                ];
            });

...this function is great, i had a problem because i´m saving the preco(prices) has varchar(which is wrong), but by using map i´m able to sum, and everything is working great giving me the result below:

10: {preco_sum: 160000}
11: {preco_sum: 220000}
12: {preco_sum: 1175000}

I have the months and the sum of them...but...then i realize i need to have the same thing but also related to the year, so i tried this:

return Carbon::parse($date->created_at)->format('Y-m');

which leads me to this result:

"2018-10" => array:1 [▶]
"2018-11" => array:1 [▶]
"2018-12" => array:1 [▶]
"2019-01" => array:1 [▶]

but how do i filter this by year on the client side?. I´m using chartjs, so one line should be all the months sumed OF 2018 and the same for 2017 for example.

Thanks for your time, regards



via Chebli Mohamed

laravel multi forms route

everybody, I have a multi form on the same page and same route all things are working fine but only last form is working

   Route::post('user/{user}/settings', 'UserController@Update_info');
   Route::post('user/{user}/settings', 'UserController@SaveSettings');
   Route::post('user/{user}/settings', 'UserController@Update_security');

So if I need SaveSettings I must change it to

Route::post('user/{user}/settings', 'UserController@Update_info');
Route::post('user/{user}/settings', 'UserController@SaveSettings');
Route::post('user/{user}/settings', 'UserController@Update_security');



via Chebli Mohamed

jeudi 27 décembre 2018

laravel Unable to load datatable js in ajax blade page

I need to filter the datatable object for that i am using datatable jquery. But its not working

I am using laravel 5.6 version , I added a new blade for my datatable filter. but its not filtering the datatable results.

I am getting the datatable result through AJAX. Needed a solution for filtering.

ajax blade code:
<div class="container-fluid page-body-wrapper">
      <div class="main-panel">
        <div class="content-wrapper">
          <div class="card">
            <div class="card-body">
              <h4 class="card-title">Data table</h4>
              <div class="row">
                <div class="col-12">
                  <div class="table-responsive">
                    <table id="order-listing" class="table">
                      <thead>
                        <tr>
                            <th>Name</th>
                            <th>Quantity</th>
                            <th>Price</th>
                            <th>SKU</th>
                            <th>Weight</th>
                            <th>Status</th>
                            <th>Seller Price</th>
                            <th>Action</th>
                        </tr>
                      </thead>
                      <tbody>
                        @foreach ($result as $data)
                        <tr>
                            <td></td>
                            <td></td>
                            <td></td>
                            <td></td>
                            <td></td>
                            <td></td>
                            <td></td>
                            <td>      
                            <a class="btn btn-primary" href="">Edit</a>
                            </td>
                        </tr>
                        @endforeach

                      </tbody>
                    </table>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
        <!-- content-wrapper ends -->

      </div>
      <!-- main-panel ends -->
    </div>

jquery code:

(function($) {
  'use strict';
  $(function() {
    $('#order-listing').DataTable({
      "aLengthMenu": [
        [5, 10, 15, -1],
        [5, 10, 15, "All"]
      ],
      "iDisplayLength": 10,
      "language": {
        search: ""
      }
    });
    $('#order-listing').each(function() {
      var datatable = $(this);
      // SEARCH - Add the placeholder for Search and Turn this into in-line form control
      var search_input = datatable.closest('.dataTables_wrapper').find('div[id$=_filter] input');
      search_input.attr('placeholder', 'Search');
      search_input.removeClass('form-control-sm');
      // LENGTH - Inline-Form control
      var length_sel = datatable.closest('.dataTables_wrapper').find('div[id$=_length] select');
      length_sel.removeClass('form-control-sm');
    });
  });
})(jQuery);

I expect the output with filtered datatable.



via Chebli Mohamed

In Lumen REST API framework request is showing pending on front-end side after hitting API

Need to restart API server each time after this problem occurs. After restarting the APIs is working fine.



via Chebli Mohamed

Laravel Amazon S3 package suddenly stopped working

I've been using this code forever:

  private function pushToS3($photo)
  {
    return $this->s3->putObject([
      'Bucket'        => $this->bucket,
      'Key'           => $photo->path,
      'ContentType'   => $this->fileInfo['mimetype'],
      'ContentLength' => filesize($this->tempFileName),
      'SourceFile'    => $this->tempFileName
    ]);
  }

All of a sudden, my queue is kicking out lots of errors about the files not matching and I have no idea how to fix it. This is the stack trace. Is anybody else having this issue suddenly with the "? If so, what did you do to solve it?

The error is: The provided 'x-amz-content-sha256' header does not match what was computed.

exception 'Aws\S3\Exception\S3Exception' with message 'Error executing "PutObject" on "https://real-estate-listings.s3.amazonaws.com/naples/prestwick-place-at-lely-resort/217006408/0.jpg"; AWS HTTP error: Client error: `PUT https://real-estate-listings.s3.amazonaws.com/naples/prestwick-place-at-lely-resort/217006408/0.jpg` resulted in a `400 Bad Request` response:
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>XAmzContentSHA256Mismatch</Code><Message>The provided 'x-amz-content (truncated...)
 XAmzContentSHA256Mismatch (client): The provided 'x-amz-content-sha256' header does not match what was computed. - <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>XAmzContentSHA256Mismatch</Code><Message>The provided 'x-amz-content-sha256' header does not match what was computed.</Message><ClientComputedContentSHA256>b14142ad250f999738ffb58372fc2022ded3faca2a4fd12ad2110df6889affce</ClientComputedContentSHA256><S3ComputedContentSHA256>fd657de6b5f5e3137de3a44e41358eb53f28878d1026e26a506386364d4144e1</S3ComputedContentSHA256><RequestId>CC785BA3A416CE14</RequestId><HostId>k3lstjw0kT3mTcfHgeYmuZsvtYGwAfaBmyrDnai1KrWuePeZPnDN8iyFbdINr4sVbD8xtxP0+Gk=</HostId></Error>'

GuzzleHttp\Exception\ClientException: Client error: `PUT https://real-estate-listings.s3.amazonaws.com/naples/prestwick-place-at-lely-resort/217006408/0.jpg` resulted in a `400 Bad Request` response:
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>XAmzContentSHA256Mismatch</Code><Message>The provided 'x-amz-content (truncated...)
 in /srv/www/listingnaples.com/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113
Stack trace:
#0 /srv/www/listingnaples.com/vendor/guzzlehttp/guzzle/src/Middleware.php(66): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response))
#1 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(203): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Response))
#2 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(156): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), Array)
#3 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/TaskQueue.php(47): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}()
#4 /srv/www/listingnaples.com/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(98): GuzzleHttp\Promise\TaskQueue->run()
#5 /srv/www/listingnaples.com/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(125): GuzzleHttp\Handler\CurlMultiHandler->tick()
#6 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(246): GuzzleHttp\Handler\CurlMultiHandler->execute(true)
#7 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(223): GuzzleHttp\Promise\Promise->invokeWaitFn()
#8 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(267): GuzzleHttp\Promise\Promise->waitIfPending()
#9 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(225): GuzzleHttp\Promise\Promise->invokeWaitList()
#10 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(267): GuzzleHttp\Promise\Promise->waitIfPending()
#11 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(225): GuzzleHttp\Promise\Promise->invokeWaitList()
#12 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending()
#13 /srv/www/listingnaples.com/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait()
#14 /srv/www/listingnaples.com/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(77): Aws\AwsClient->execute(Object(Aws\Command))
#15 /srv/www/listingnaples.com/app/Models/PhotoProcessor.php(172): Aws\AwsClient->__call('putObject', Array)
#16 /srv/www/listingnaples.com/app/Models/PhotoProcessor.php(67): App\Models\PhotoProcessor->pushToS3(Object(App\Models\RetsPhoto))
#17 /srv/www/listingnaples.com/app/Models/ListingMigrator.php(86): App\Models\PhotoProcessor->process()
#18 /srv/www/listingnaples.com/app/Models/ListingMigrator.php(32): App\Models\ListingMigrator->processPhotos()
#19 /srv/www/listingnaples.com/app/Models/ListingMigrator.php(22): App\Models\ListingMigrator->migrate()
#20 /srv/www/listingnaples.com/app/Jobs/ProcessListing.php(44): App\Models\ListingMigrator::migrateListing(Object(App\Models\TempListingNaples), Object(App\Models\RetsFeed))
#21 [internal function]: App\Jobs\ProcessListing->handle()
#22 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array)
#23 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#24 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure))
#25 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/Container.php(572): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL)
#26 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(94): Illuminate\Container\Container->call(Array)
#27 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(App\Jobs\ProcessListing))
#28 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(App\Jobs\ProcessListing))
#29 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(98): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#30 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(49): Illuminate\Bus\Dispatcher->dispatchNow(Object(App\Jobs\ProcessListing), false)
#31 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(83): Illuminate\Queue\CallQueuedHandler->call(Object(Illuminate\Queue\Jobs\SqsJob), Array)
#32 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(327): Illuminate\Queue\Jobs\Job->fire()
#33 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(277): Illuminate\Queue\Worker->process('sqs', Object(Illuminate\Queue\Jobs\SqsJob), Object(Illuminate\Queue\WorkerOptions))
#34 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(118): Illuminate\Queue\Worker->runJob(Object(Illuminate\Queue\Jobs\SqsJob), 'sqs', Object(Illuminate\Queue\WorkerOptions))
#35 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(102): Illuminate\Queue\Worker->daemon('sqs', 'ImportQueue', Object(Illuminate\Queue\WorkerOptions))
#36 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(86): Illuminate\Queue\Console\WorkCommand->runWorker('sqs', 'ImportQueue')
#37 [internal function]: Illuminate\Queue\Console\WorkCommand->handle()
#38 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array)
#39 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#40 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure))
#41 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/Container.php(572): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL)
#42 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Console/Command.php(183): Illuminate\Container\Container->call(Array)
#43 /srv/www/listingnaples.com/vendor/symfony/console/Command/Command.php(255): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#44 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Console/Command.php(170): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#45 /srv/www/listingnaples.com/vendor/symfony/console/Application.php(901): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#46 /srv/www/listingnaples.com/vendor/symfony/console/Application.php(262): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Queue\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#47 /srv/www/listingnaples.com/vendor/symfony/console/Application.php(145): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#48 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Console/Application.php(89): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#49 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(122): Illuminate\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#50 /srv/www/listingnaples.com/artisan(37): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#51 {main}

Next Aws\S3\Exception\S3Exception: Error executing "PutObject" on "https://real-estate-listings.s3.amazonaws.com/naples/prestwick-place-at-lely-resort/217006408/0.jpg"; AWS HTTP error: Client error: `PUT https://real-estate-listings.s3.amazonaws.com/naples/prestwick-place-at-lely-resort/217006408/0.jpg` resulted in a `400 Bad Request` response:
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>XAmzContentSHA256Mismatch</Code><Message>The provided 'x-amz-content (truncated...)
 XAmzContentSHA256Mismatch (client): The provided 'x-amz-content-sha256' header does not match what was computed. - <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>XAmzContentSHA256Mismatch</Code><Message>The provided 'x-amz-content-sha256' header does not match what was computed.</Message><ClientComputedContentSHA256>b14142ad250f999738ffb58372fc2022ded3faca2a4fd12ad2110df6889affce</ClientComputedContentSHA256><S3ComputedContentSHA256>fd657de6b5f5e3137de3a44e41358eb53f28878d1026e26a506386364d4144e1</S3ComputedContentSHA256><RequestId>CC785BA3A416CE14</RequestId><HostId>k3lstjw0kT3mTcfHgeYmuZsvtYGwAfaBmyrDnai1KrWuePeZPnDN8iyFbdINr4sVbD8xtxP0+Gk=</HostId></Error> in /srv/www/listingnaples.com/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php:191
Stack trace:
#0 /srv/www/listingnaples.com/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php(100): Aws\WrappedHttpHandler->parseError(Array, Object(GuzzleHttp\Psr7\Request), Object(Aws\Command), Array)
#1 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(203): Aws\WrappedHttpHandler->Aws\{closure}(Array)
#2 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(174): GuzzleHttp\Promise\Promise::callHandler(2, Array, Array)
#3 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/RejectedPromise.php(40): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}(Array)
#4 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/TaskQueue.php(47): GuzzleHttp\Promise\RejectedPromise::GuzzleHttp\Promise\{closure}()
#5 /srv/www/listingnaples.com/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(98): GuzzleHttp\Promise\TaskQueue->run()
#6 /srv/www/listingnaples.com/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(125): GuzzleHttp\Handler\CurlMultiHandler->tick()
#7 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(246): GuzzleHttp\Handler\CurlMultiHandler->execute(true)
#8 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(223): GuzzleHttp\Promise\Promise->invokeWaitFn()
#9 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(267): GuzzleHttp\Promise\Promise->waitIfPending()
#10 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(225): GuzzleHttp\Promise\Promise->invokeWaitList()
#11 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(267): GuzzleHttp\Promise\Promise->waitIfPending()
#12 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(225): GuzzleHttp\Promise\Promise->invokeWaitList()
#13 /srv/www/listingnaples.com/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending()
#14 /srv/www/listingnaples.com/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait()
#15 /srv/www/listingnaples.com/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(77): Aws\AwsClient->execute(Object(Aws\Command))
#16 /srv/www/listingnaples.com/app/Models/PhotoProcessor.php(172): Aws\AwsClient->__call('putObject', Array)
#17 /srv/www/listingnaples.com/app/Models/PhotoProcessor.php(67): App\Models\PhotoProcessor->pushToS3(Object(App\Models\RetsPhoto))
#18 /srv/www/listingnaples.com/app/Models/ListingMigrator.php(86): App\Models\PhotoProcessor->process()
#19 /srv/www/listingnaples.com/app/Models/ListingMigrator.php(32): App\Models\ListingMigrator->processPhotos()
#20 /srv/www/listingnaples.com/app/Models/ListingMigrator.php(22): App\Models\ListingMigrator->migrate()
#21 /srv/www/listingnaples.com/app/Jobs/ProcessListing.php(44): App\Models\ListingMigrator::migrateListing(Object(App\Models\TempListingNaples), Object(App\Models\RetsFeed))
#22 [internal function]: App\Jobs\ProcessListing->handle()
#23 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array)
#24 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#25 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure))
#26 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/Container.php(572): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL)
#27 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(94): Illuminate\Container\Container->call(Array)
#28 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(App\Jobs\ProcessListing))
#29 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(App\Jobs\ProcessListing))
#30 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(98): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#31 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(49): Illuminate\Bus\Dispatcher->dispatchNow(Object(App\Jobs\ProcessListing), false)
#32 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(83): Illuminate\Queue\CallQueuedHandler->call(Object(Illuminate\Queue\Jobs\SqsJob), Array)
#33 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(327): Illuminate\Queue\Jobs\Job->fire()
#34 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(277): Illuminate\Queue\Worker->process('sqs', Object(Illuminate\Queue\Jobs\SqsJob), Object(Illuminate\Queue\WorkerOptions))
#35 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(118): Illuminate\Queue\Worker->runJob(Object(Illuminate\Queue\Jobs\SqsJob), 'sqs', Object(Illuminate\Queue\WorkerOptions))
#36 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(102): Illuminate\Queue\Worker->daemon('sqs', 'ImportQueue', Object(Illuminate\Queue\WorkerOptions))
#37 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(86): Illuminate\Queue\Console\WorkCommand->runWorker('sqs', 'ImportQueue')
#38 [internal function]: Illuminate\Queue\Console\WorkCommand->handle()
#39 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array)
#40 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#41 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure))
#42 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Container/Container.php(572): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL)
#43 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Console/Command.php(183): Illuminate\Container\Container->call(Array)
#44 /srv/www/listingnaples.com/vendor/symfony/console/Command/Command.php(255): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#45 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Console/Command.php(170): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#46 /srv/www/listingnaples.com/vendor/symfony/console/Application.php(901): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#47 /srv/www/listingnaples.com/vendor/symfony/console/Application.php(262): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Queue\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#48 /srv/www/listingnaples.com/vendor/symfony/console/Application.php(145): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#49 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Console/Application.php(89): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#50 /srv/www/listingnaples.com/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(122): Illuminate\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#51 /srv/www/listingnaples.com/artisan(37): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#52 {main}



via Chebli Mohamed