Bridge with symfony/uid

The UID component provides utilities to work with unique identifiers (UIDs) such as UUIDs and ULIDs.
Refer to the official documentation on Symfony’s website.

This bridge provides ways to generate JobExecution ids.

Random based UUIDs JobExecution ids

Use RandomBasedUuidJobExecutionIdGenerator for time based UUIDs JobExecution ids.

<?php

declare(strict_types=1);

use Symfony\Component\Uid\Factory\UuidFactory;
use Yokai\Batch\Bridge\Symfony\Uid\Factory\RandomBasedUuidJobExecutionIdGenerator;
use Yokai\Batch\Factory\JobExecutionFactory;
use Yokai\Batch\Factory\JobExecutionParametersBuilder\NullJobExecutionParametersBuilder;

(new JobExecutionFactory(
    new RandomBasedUuidJobExecutionIdGenerator(new UuidFactory()),
    new NullJobExecutionParametersBuilder(),
))->create('job.foo');

Time based UUIDs JobExecution ids

Use TimeBasedUuidJobExecutionIdGenerator for time based UUIDs JobExecution ids.

<?php

declare(strict_types=1);

use Symfony\Component\Uid\Factory\UuidFactory;
use Yokai\Batch\Bridge\Symfony\Uid\Factory\TimeBasedUuidJobExecutionIdGenerator;
use Yokai\Batch\Factory\JobExecutionFactory;
use Yokai\Batch\Factory\JobExecutionParametersBuilder\NullJobExecutionParametersBuilder;

(new JobExecutionFactory(
    new TimeBasedUuidJobExecutionIdGenerator(new UuidFactory()),
    new NullJobExecutionParametersBuilder(),
))->create('job.foo');

ULIDs JobExecution ids

Use UlidJobExecutionIdGenerator for ULIDs JobExecution ids.

<?php

declare(strict_types=1);

use Symfony\Component\Uid\Factory\UlidFactory;
use Yokai\Batch\Bridge\Symfony\Uid\Factory\UlidJobExecutionIdGenerator;
use Yokai\Batch\Factory\JobExecutionFactory;
use Yokai\Batch\Factory\JobExecutionParametersBuilder\NullJobExecutionParametersBuilder;

(new JobExecutionFactory(
    new UlidJobExecutionIdGenerator(new UlidFactory()),
    new NullJobExecutionParametersBuilder(),
))->create('job.foo');