1: | <?php declare(strict_types = 1); |
2: | |
3: | namespace ApiGen; |
4: | |
5: | use ApiGen\Task\Task; |
6: | |
7: | |
8: | /** |
9: | * @template TTask of Task |
10: | * @template TResult |
11: | */ |
12: | interface Scheduler |
13: | { |
14: | /** |
15: | * @param TTask $task |
16: | */ |
17: | public function schedule(Task $task): void; |
18: | |
19: | |
20: | /** |
21: | * @return iterable<TTask, TResult> |
22: | */ |
23: | public function process(): iterable; |
24: | } |
25: |