viicslen/laravel-trackable-tasks

这是我创建的包 laravel-trackable-tasks

v10.1.0 2024-01-24 19:58 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

这里应该是您的描述。限制在一段或两段内。考虑添加一个小例子。

安装

您可以通过 composer 安装此包

composer require viicslen/laravel-trackable-tasks

您可以使用以下命令发布和运行迁移

php artisan vendor:publish --tag="trackable-tasks-migrations"
php artisan migrate

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="trackable-tasks-config"

这是已发布配置文件的内容

return [
    'queue_listener' => ViicSlen\TrackableTasks\QueueListeners\DefaultListener::class,
    'model' => ViicSlen\TrackableTasks\Models\TrackedTask::class,
    'prunable_after' => 90,
    'database' => [
        'connection' => null,
        'table' => 'tracked_task',
    ],
    'events' => [
        'retrieved' => ViicSlen\TrackableTasks\Events\TrackableTaskRetrieved::class,
        'creating' => ViicSlen\TrackableTasks\Events\TrackableTaskCreating::class,
        'created' => ViicSlen\TrackableTasks\Events\TrackableTaskCreated::class,
        'updating' => ViicSlen\TrackableTasks\Events\TrackableTaskUpdating::class,
        'updated' => ViicSlen\TrackableTasks\Events\TrackableTaskUpdated::class,
        'saving' => ViicSlen\TrackableTasks\Events\TrackableTaskSaving::class,
        'saved' => ViicSlen\TrackableTasks\Events\TrackableTaskSaved::class,
        'deleting' => ViicSlen\TrackableTasks\Events\TrackableTaskDeleting::class,
        'deleted' => ViicSlen\TrackableTasks\Events\TrackableTaskDeleted::class,
        'restoring' => ViicSlen\TrackableTasks\Events\TrackableTaskRestoring::class,
        'restored' => ViicSlen\TrackableTasks\Events\TrackableTaskRestored::class,
        'force_deleting' => ViicSlen\TrackableTasks\Events\TrackableTaskForceDeleted::class,
        'trashed' => ViicSlen\TrackableTasks\Events\TrackableTaskTrashed::class,
        'replicating' => ViicSlen\TrackableTasks\Events\TrackableTaskReplicating::class,
        'exception_added' => ViicSlen\TrackableTasks\Events\TrackableTaskExceptionAdded::class,
        'status_updated' => ViicSlen\TrackableTasks\Events\TrackableTaskStatusUpdated::class,
    ],
];

可选地,您可以使用以下命令发布视图

php artisan vendor:publish --tag="laravel-trackable-tasks-views"

用法

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use ViicSlen\TrackableTasks\Concerns\TrackAutomatically;

class TestJobWithTracking implements ShouldQueue
{
    use InteractsWithQueue;
    use Queueable;
    use Dispatchable;
    use TrackAutomatically;

    public function handle(): void {
        $this->taskSetProgressMax(200);

        $this->taskIncrementProgress();

        sleep(1);
        $this->taskIncrementProgress(10);

        sleep(1);
        $this->taskIncrementProgress(20);

        sleep(1);
        $this->taskIncrementProgress(30);

        sleep(1);
        $this->taskFinishProgress();
    }
}

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近的变化信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全漏洞

请查看 我们的安全策略 了解如何报告安全漏洞。

致谢

许可协议

MIT 许可协议 (MIT)。请参阅 许可文件 了解更多信息。