fixed JobShouldQueue source_name issue..
This commit is contained in:
parent
951ca29215
commit
76e9eb39be
@ -12,10 +12,10 @@ use App\Traits\Jobs;
|
|||||||
use App\Traits\Relationships;
|
use App\Traits\Relationships;
|
||||||
use App\Traits\Sources;
|
use App\Traits\Sources;
|
||||||
use App\Traits\Uploads;
|
use App\Traits\Uploads;
|
||||||
|
use App\Utilities\QueueCollection;
|
||||||
use Illuminate\Bus\Queueable;
|
use Illuminate\Bus\Queueable;
|
||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Support\Collection;
|
|
||||||
use Illuminate\Queue\InteractsWithQueue;
|
use Illuminate\Queue\InteractsWithQueue;
|
||||||
use Illuminate\Queue\SerializesModels;
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ abstract class JobShouldQueue implements ShouldQueue
|
|||||||
}
|
}
|
||||||
|
|
||||||
$request = $this->getRequestInstance($arguments[0]);
|
$request = $this->getRequestInstance($arguments[0]);
|
||||||
if ($request instanceof Collection) {
|
if ($request instanceof QueueCollection) {
|
||||||
$this->request = $request;
|
$this->request = $request;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ abstract class JobShouldQueue implements ShouldQueue
|
|||||||
}
|
}
|
||||||
|
|
||||||
$request = $this->getRequestInstance($arguments[1]);
|
$request = $this->getRequestInstance($arguments[1]);
|
||||||
if ($request instanceof Collection) {
|
if ($request instanceof QueueCollection) {
|
||||||
$this->request = $request;
|
$this->request = $request;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -110,7 +110,7 @@ abstract class JobShouldQueue implements ShouldQueue
|
|||||||
* Covert the request to collection.
|
* Covert the request to collection.
|
||||||
*
|
*
|
||||||
* @param mixed $request
|
* @param mixed $request
|
||||||
* @return \Illuminate\Support\Collection
|
* @return \App\Utilities\QueueCollection
|
||||||
*/
|
*/
|
||||||
public function getRequestAsCollection($request)
|
public function getRequestAsCollection($request)
|
||||||
{
|
{
|
||||||
@ -122,12 +122,12 @@ abstract class JobShouldQueue implements ShouldQueue
|
|||||||
$request->merge($data);
|
$request->merge($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
return collect($request->all());
|
return new QueueCollection($request->all());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setOwner(): void
|
public function setOwner(): void
|
||||||
{
|
{
|
||||||
if (! $this->request instanceof Collection) {
|
if (! $this->request instanceof QueueCollection) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,7 +140,7 @@ abstract class JobShouldQueue implements ShouldQueue
|
|||||||
|
|
||||||
public function setSource(): void
|
public function setSource(): void
|
||||||
{
|
{
|
||||||
if (! $this->request instanceof Collection) {
|
if (! $this->request instanceof QueueCollection) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,6 +37,10 @@ class Queue extends Provider
|
|||||||
});
|
});
|
||||||
|
|
||||||
app('events')->listen(JobProcessing::class, function ($event) {
|
app('events')->listen(JobProcessing::class, function ($event) {
|
||||||
|
if (! defined('APP_RUNNING_IN_QUEUE')) {
|
||||||
|
define('APP_RUNNING_IN_QUEUE', true);
|
||||||
|
}
|
||||||
|
|
||||||
$payload = $event->job->payload();
|
$payload = $event->job->payload();
|
||||||
|
|
||||||
if (!array_key_exists('company_id', $payload)) {
|
if (!array_key_exists('company_id', $payload)) {
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Traits;
|
namespace App\Traits;
|
||||||
|
|
||||||
|
use App\Utilities\QueueCollection;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
trait Sources
|
trait Sources
|
||||||
@ -29,8 +30,12 @@ trait Sources
|
|||||||
if (empty($source)) {
|
if (empty($source)) {
|
||||||
$request = $request ?: request();
|
$request = $request ?: request();
|
||||||
|
|
||||||
|
if ($request instanceof QueueCollection || running_in_queue()) {
|
||||||
|
$source = $prefix . 'queue';
|
||||||
|
} else {
|
||||||
$source = $request->isApi() ? $prefix . 'api' : null;
|
$source = $request->isApi() ? $prefix . 'api' : null;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (empty($source)) {
|
if (empty($source)) {
|
||||||
$source = $prefix . 'ui';
|
$source = $prefix . 'ui';
|
||||||
|
10
app/Utilities/QueueCollection.php
Normal file
10
app/Utilities/QueueCollection.php
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Utilities;
|
||||||
|
|
||||||
|
use Illuminate\Support\Collection;
|
||||||
|
|
||||||
|
class QueueCollection extends Collection
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -157,3 +157,15 @@ if (!function_exists('cache_prefix')) {
|
|||||||
return company_id() . '_';
|
return company_id() . '_';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!function_exists('running_in_queue')) {
|
||||||
|
/**
|
||||||
|
* Detect if application is running in queue.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
function running_in_queue()
|
||||||
|
{
|
||||||
|
return defined('APP_RUNNING_IN_QUEUE') ?? false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user