Member Since 1 Year Ago
4,760 experience to go until the next level!
In case you were wondering, you earn Laracasts experience when you:
Earned once you have completed your first Laracasts lesson.
Earned once you have earned your first 1000 experience points.
Earned when you have been with Laracasts for 1 year.
Earned when you have been with Laracasts for 2 years.
Earned when you have been with Laracasts for 3 years.
Earned when you have been with Laracasts for 4 years.
Earned when you have been with Laracasts for 5 years.
Earned when at least one Laracasts series has been fully completed.
Earned after your first post on the Laracasts forum.
Earned once 100 Laracasts lessons have been completed.
Earned once you receive your first "Best Reply" award on the Laracasts forum.
Earned if you are a paying Laracasts subscriber.
Earned if you have a lifetime subscription to Laracasts.
Earned if you share a link to Laracasts on social media. Please email [email protected] with your username and post URL to be awarded this badge.
Earned once you have achieved 500 forum replies.
Earned once your experience points passes 100,000.
Earned once your experience points hits 10,000.
Earned once 1000 Laracasts lessons have been completed.
Earned once your "Best Reply" award count is 100 or more.
Earned once your experience points passes 1 million.
Earned once your experience points ranks in the top 50 of all Laracasts users.
Earned once your experience points ranks in the top 10 of all Laracasts users.
Awarded Best Reply on Delay Batch Jobs
Well, I solved it by creating a delayed job that then creates the batch jobs.
Replied to Delay Batch Jobs
Well, I guess that is the same as "plan your job 120s later? (It's not always 120s btw)
P.S. How do I close the subject?
Replied to Delay Batch Jobs
Well, I solved it by creating a delayed job that then creates the batch jobs.
Replied to Problem With Batch Callbacks
Hmmm, in what loops would that be?
The code is pretty straight forward and very similar to the example in the docs:
$jobs = [];
// $recipients is at the moment only 1 item
foreach ($recipients as $destination) {
$jobs[] = new MasscreationJob($destination);
}
$batch = Bus::batch($jobs)->then(function(BatchJob $batch) {
// All jobs completed successfully...
})->catch(function (BatchJob $batch, Throwable $e) {
// First batch job failure detected...
// Notify admin of errors...
$this->masscreation->status = Masscreation::STATUS_ERRORS;
$this->masscreation->error_message = $e->getMessage();
$this->masscreation->save();
})->finally(function (BatchJob $batch) {
// The batch has finished executing...
// Notify admin masscreation is complete
$this->masscreation->status = Masscreation::STATUS_DONE;
$this->masscreation->save();
})->onQueue('batches');
if (isset($this->masscreation->request_data['name'])) {
$batch->name($this->masscreation->request_data['name']);
}
$batch->dispatch();
Replied to Problem With Batch Callbacks
Thanks for replying!
I've already set the memory_limit = 2G
which should be high enough. Especially when running so small batches.
I can't see anything in the docs that this should require extra memory capacity from the server or anything like that. And why are the closures such "memory thieves"?
Started a new Conversation Problem With Batch Callbacks
I'm having problems with the callbacks for Batch Jobs.
Trying to run a batch job like in the example on https://laravel.com/docs/8.x/queues#dispatching-batches
But whenever I add something in the callbacks I get a PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /Users/niklaspalmqvist/git-projects/kupongsupport-laravel/vendor/opis/closure/src/SerializableClosure.php on line 417
.
Deleting anything inside then()
, catch()
or finally()
solves the problem but that kinda takes away the benefits of batches.
Testing with just a log statement inside the closures but fails every time.
When testing I'm only running batches with 1-5 jobs in them and they run fine when I run them without callbacks so it shouldn't be a problem.
Anyone else ran in to this problem or has a solution for this?
Started a new Conversation Delay Batch Jobs
Hi!
Been playing around with Laravel 8 and the Job Batches. I think it's a great function but something that I'm missing is the functionality to delay the jobs as you can on the standard queue jobs (->delay(120)
).
Is this not possible at all with Batches or am I missing something here? If not, does anyone have a workaround for this?