BatchFactory.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace Illuminate\Bus;
  3. use Carbon\CarbonImmutable;
  4. use Illuminate\Contracts\Queue\Factory as QueueFactory;
  5. class BatchFactory
  6. {
  7. /**
  8. * The queue factory implementation.
  9. *
  10. * @var \Illuminate\Contracts\Queue\Factory
  11. */
  12. protected $queue;
  13. /**
  14. * Create a new batch factory instance.
  15. *
  16. * @param \Illuminate\Contracts\Queue\Factory $queue
  17. */
  18. public function __construct(QueueFactory $queue)
  19. {
  20. $this->queue = $queue;
  21. }
  22. /**
  23. * Create a new batch instance.
  24. *
  25. * @param \Illuminate\Bus\BatchRepository $repository
  26. * @param string $id
  27. * @param string $name
  28. * @param int $totalJobs
  29. * @param int $pendingJobs
  30. * @param int $failedJobs
  31. * @param array $failedJobIds
  32. * @param array $options
  33. * @param \Carbon\CarbonImmutable $createdAt
  34. * @param \Carbon\CarbonImmutable|null $cancelledAt
  35. * @param \Carbon\CarbonImmutable|null $finishedAt
  36. * @return \Illuminate\Bus\Batch
  37. */
  38. public function make(BatchRepository $repository,
  39. string $id,
  40. string $name,
  41. int $totalJobs,
  42. int $pendingJobs,
  43. int $failedJobs,
  44. array $failedJobIds,
  45. array $options,
  46. CarbonImmutable $createdAt,
  47. ?CarbonImmutable $cancelledAt,
  48. ?CarbonImmutable $finishedAt)
  49. {
  50. return new Batch($this->queue, $repository, $id, $name, $totalJobs, $pendingJobs, $failedJobs, $failedJobIds, $options, $createdAt, $cancelledAt, $finishedAt);
  51. }
  52. }