0
有沒有人在Laravel Queue工作中使用過靜態變量?Laravel Queue Job中的靜態變量
我需要使用靜態變量來累積傳入的文件大小。
例如,如果總文件大小超過1000MB,我需要立即向遠程服務器發出請求。
[2017-06-18 07:59:44] local.ERROR: exception 'ErrorException' with message 'serialize(): "count" returned as member variable from __sleep() but does not exist' in C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Queue\Queue.php:89 Stack trace: #0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8, 'serialize(): "a...', 'C:\\xampp\\htdocs...', 89, Array)
下面是我的隊列代碼。
<?php
namespace App\Jobs;
use App\Jobs\Job;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Log;
class SendToAPI extends Job implements ShouldQueue
{
use InteractsWithQueue, SerializesModels;
private $data = null;
private static $count = 0;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$count = $count + $this->data['file_size'];
if ($count > 1000)
{
// perform action
}
}
}
「不工作」並不足以提供給我們幫助的信息。 – Joe
對不起,先生,我讚揚我的帖子。 – user3201419
'static'可能不會按預期工作,因爲隊列是異步的並可能在後續調用期間發生 –