Pros:
queue:table and queue:failed-table).command_name, data array), reducing boilerplate for job inspection.reserved_at, available_at, etc.) to Carbon objects, improving readability and consistency.Cons:
payload is cast to an array, which could complicate complex queries).failed, released), requiring manual implementation.queue:table migrations already run.composer require.payload is JSON-serializable; custom payloads (e.g., resources, closures) may break.queue.php configurations may need adjustments).queue:table migrations run)? If not, this package is irrelevant.config('queue.default')).JobFailed)? This package doesn’t provide them.jobs/job_fails tables named differently in queue.php? The package assumes defaults.jobs table impact performance? Eloquent adds overhead vs. raw DB queries.php artisan queue:table and queue:failed-table (if not already done).php artisan migrate).composer require repat/laravel-job-models
DB::table('jobs')->where(...)) with:
use Repat\LaravelJobs\Job;
$job = Job::where('queue', 'default')->first();
$job->command_name; // ->payload['data']['commandName']
$job->data['key']; // Direct access to payload['data']
Job model:
namespace App\Models;
use Repat\LaravelJobs\Job as BaseJob;
class Job extends BaseJob {
public function scopePending($query) {
return $query->whereNull('reserved_at');
}
}
composer.json constraints).jobs, job_fails). Override in config/queue.php if custom:
'tables' => [
'jobs' => 'custom_jobs_table',
'failed' => 'custom_failed_jobs_table',
],
Job::all()).composer.json to avoid surprises.Job::where('failed_at', '>', now()->subHours(1))).Job::query()->where(...)->get(); // Avoid N+1 queries
Job::with('payload')->get()) may impact queue performance.payload contains non-serializable data, queries may fail silently or throw errors.queue.php table names or columns may break model queries.Job model to test job-related logic.How can I help you explore Laravel packages today?