jeudi 5 avril 2018

Beanstalkd/Laravel 5.5.32 queue jobs disappearing

I'm running into a problem where jobs in my beanstalkd queue seem to be disappearing.

public function syncProsperWorksCompanyRelationships() {

    $partners = Partner::all();

    $count = 0;

    foreach ($partners as $partner) {

        SyncProsperWorksCompanyRelationship::dispatch($partner);

        $count++;

    }

    dd($count);


}

The count is returning the expected number of 168 for my test data, but when I listen to the queue (via php artisan queue:listen), I only see around ~35 jobs fire.

Here's the job:

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;

use App\ProsperWorks;

use App\Partner;

class SyncProsperWorksCompanyRelationship implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    public $partner;

    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct(Partner $partner)
    {
        //
        $this->partner = $partner;

    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        //

        $prosperWorks = \App::make('App\ProsperWorks');

        $prosperWorks->syncProsperWorksCompanyRelationship($this->partner);


    }
}

And here's the method it references: (note that the usleep is to avoid the API rate limit)

public function syncProsperWorksCompanyRelationship($partner) {

    usleep(1100000);

    $relatedProsperWorksContactIDs = $this->getRelatedPersonIDsViaPartner($partner);

    $relatedEnrollexContacts = $partner->contacts;

    if (!empty($relatedProsperWorksContactIDs)) {

        foreach($relatedProsperWorksContactIDs as $relatedProsperWorksContactID) {

            $this->relateContactToPartner($relatedProsperWorksContactID, $partner);

        }

    }

    if (!empty($relatedEnrollexContacts)) {            

        foreach($relatedEnrollexContacts as $relatedEnrollexContact) {

            usleep(1100000);

            $this->relatePersonToCompany($partner, $relatedEnrollexContact['pw_id'], $relatedProsperWorksContactIDs);

        }

    }

}



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire