lean/meta/definitions/cronard.php

31 lines
908 B
PHP

<?php
use function DI\autowire, DI\create, DI\get;
use Cronard\CronardMiddleware,
Notes\Cronard\TaskFetcher;
use Psr\Http\Message\ResponseInterface;
use Lean\{ Factory, Lean };
return [
CronardMiddleware::class => function($c) {
$cronardMiddleware = new CronardMiddleware($c, getenv('CRON_KEY'), function() : ResponseInterface {
return Factory\HttpFactory::createHtmlResponse(sprintf("%s - cron task begin...", date('Y-m-d H:i:s')));
}, []);
return $cronardMiddleware->fromFile(getenv("META_PATH")."/crontab.php")->fromAnnotations($c->get(TaskFetcher::class));
},
TaskFetcher::class => function($c) {
$fetcher = new TaskFetcher(null, null, $c->get('cronard.caching'));
$fetcher->setFolderList(array_map(function($item) {
return $item;
}, $c->get(Lean::class)->getCronard()));
return $fetcher;
},
];