File tree Expand file tree Collapse file tree 3 files changed +14
-4
lines changed
Expand file tree Collapse file tree 3 files changed +14
-4
lines changed Original file line number Diff line number Diff line change 22
33namespace JustBetter \StaticCacheWarmer \Actions ;
44
5+ use Illuminate \Support \Facades \Bus ;
56use JustBetter \StaticCacheWarmer \Contracts \WarmsUrls ;
67use JustBetter \StaticCacheWarmer \Jobs \WarmUrlJob ;
78use Statamic \Eloquent \Entries \EntryQueryBuilder ;
@@ -16,8 +17,13 @@ public function warm(): void
1617
1718 $ entries = $ query ->whereNotNull ('uri ' )->lazy ();
1819
20+ $ jobs = [];
1921 foreach ($ entries as $ entry ) {
20- WarmUrlJob::dispatch ($ entry ->absoluteUrl ());
22+ $ jobs [] = new WarmUrlJob ($ entry ->absoluteUrl ());
23+ }
24+
25+ if (! empty ($ jobs )) {
26+ Bus::batch ($ jobs )->dispatchAfterResponse ();
2127 }
2228 }
2329
Original file line number Diff line number Diff line change 22
33namespace JustBetter \StaticCacheWarmer \Jobs ;
44
5+ use Illuminate \Bus \Batchable ;
56use Illuminate \Contracts \Queue \ShouldBeUnique ;
67use Illuminate \Contracts \Queue \ShouldQueue ;
78use Illuminate \Foundation \Queue \Queueable ;
89use JustBetter \StaticCacheWarmer \Contracts \WarmsUrl ;
910
1011class WarmUrlJob implements ShouldBeUnique, ShouldQueue
1112{
12- use Queueable;
13+ use Batchable, Queueable;
1314
1415 public function __construct (protected string $ url )
1516 {
Original file line number Diff line number Diff line change 1414class WarmUrlsTest extends TestCase
1515{
1616 #[Test]
17- public function it_can_dispatch_jobs (): void
17+ public function it_can_dispatch_jobs_in_batch (): void
1818 {
1919 Bus::fake ();
2020
@@ -34,6 +34,9 @@ public function it_can_dispatch_jobs(): void
3434
3535 $ action ->warm ();
3636
37- Bus::assertDispatched (WarmUrlJob::class);
37+ Bus::assertBatched (function ($ batch ) {
38+ return $ batch ->jobs ->count () > 0
39+ && $ batch ->jobs ->first () instanceof WarmUrlJob;
40+ });
3841 }
3942}
You can’t perform that action at this time.
0 commit comments