Skip to content

Commit

Permalink
Fixed failed jobs table
Browse files Browse the repository at this point in the history
  • Loading branch information
korridor committed Jul 3, 2024
1 parent 4c2748f commit 7fd5d25
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 3 deletions.
6 changes: 4 additions & 2 deletions app/Console/Commands/Test/TestJobCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class TestJobCommand extends Command
*
* @var string
*/
protected $signature = 'test:job';
protected $signature = 'test:job {--fail}';

/**
* The console command description.
Expand All @@ -30,7 +30,9 @@ class TestJobCommand extends Command
public function handle(): int
{
$user = User::firstOrFail();
TestJob::dispatch($user, 'Test job message.');
$fail = (bool) $this->option('fail');

TestJob::dispatch($user, 'Test job message.', $fail);

return self::SUCCESS;
}
Expand Down
9 changes: 8 additions & 1 deletion app/Jobs/Test/TestJob.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
namespace App\Jobs\Test;

use App\Models\User;
use Exception;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
Expand All @@ -22,23 +23,29 @@ class TestJob implements ShouldQueue
private User $user;

private string $message;
private bool $fail;

/**
* Create a new job instance.
*/
public function __construct(User $user, string $message)
public function __construct(User $user, string $message, bool $fail = false)
{
$this->user = $user;
$this->message = $message;
$this->fail = $fail;
}

/**
* Execute the job.
* @throws Exception
*/
public function handle(): void
{
Log::debug('TestJob: '.$this->message, [
'user' => $this->user->getKey(),
]);
if ($this->fail) {
throw new Exception('TestJob failed.');
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?php

declare(strict_types=1);

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
DB::table('failed_jobs')->truncate();
Schema::table('failed_jobs', function (Blueprint $table): void {
$table->dropColumn('id');
});
Schema::table('failed_jobs', function (Blueprint $table): void {
$table->id();
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
DB::table('failed_jobs')->truncate();
Schema::table('failed_jobs', function (Blueprint $table): void {
$table->dropColumn('id');
});
Schema::table('failed_jobs', function (Blueprint $table): void {
$table->uuid('id')->primary();
});
}
};

0 comments on commit 7fd5d25

Please sign in to comment.