Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 617d2e517b | |||
| d9f3136cd9 |
34
README.md
34
README.md
@@ -1,35 +1,3 @@
|
|||||||
# sprinkle-scheduler
|
# sprinkle-scheduler
|
||||||
|
|
||||||
A UserFrosting sprinkle to add scheduled events.
|
A UserFrosting sprinkle to add scheduled events
|
||||||
|
|
||||||
Either a crontab set to run once a minute is required or a systemd timer:
|
|
||||||
|
|
||||||
Systemd service: /etc/systemd/system/uf-scheduler.service
|
|
||||||
```systemd
|
|
||||||
[Unit]
|
|
||||||
Description=UserFrosting Scheduler
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=no
|
|
||||||
Type=simple
|
|
||||||
ExecStart=/usr/bin/php bakery schedule -n
|
|
||||||
WorkingDirectory=/srv/UserFrosting
|
|
||||||
User=www-data
|
|
||||||
Group=www-data
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
```
|
|
||||||
Systemd timer: /etc/systemd/system/uf-scheduler.timer
|
|
||||||
```systemd
|
|
||||||
[Unit]
|
|
||||||
Description=UserFrosting Scheduler trigger
|
|
||||||
|
|
||||||
[Timer]
|
|
||||||
OnCalendar=*-*-* *:*:00
|
|
||||||
Persistent=true
|
|
||||||
Unit=uf-scheduler.service
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
```
|
|
||||||
@@ -107,4 +107,4 @@ class TaskController extends SimpleController
|
|||||||
'tasks' => $tasks
|
'tasks' => $tasks
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
38
src/Scheduler/Tasks/TestTask.php
Normal file
38
src/Scheduler/Tasks/TestTask.php
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* AVSDev UF Scheduler (https://avsdev.uk)
|
||||||
|
*
|
||||||
|
* @link https://git.avsdev.uk/avsdev/sprinkle-scheduler
|
||||||
|
* @license https://git.avsdev.uk/avsdev/sprinkle-scheduler/blob/master/LICENSE.md (LGPL-3.0 License)
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace UserFrosting\Sprinkle\Scheduler\Scheduler\Tasks;
|
||||||
|
|
||||||
|
use UserFrosting\Sprinkle\Scheduler\Scheduler\BaseTask;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Task Class
|
||||||
|
* Base class for scheduled tasks.
|
||||||
|
*
|
||||||
|
* @author Craig Williams (https://avsdev.uk)
|
||||||
|
*/
|
||||||
|
class TestTask extends BaseTask
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Function used to specify the schedule for the task.
|
||||||
|
*/
|
||||||
|
public function schedule()
|
||||||
|
{
|
||||||
|
$this->everyMinute();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function used to specify what the task does.
|
||||||
|
*/
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
$this->ci->debugLogger->debug("running task");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -50,9 +50,7 @@ class ServicesProvider
|
|||||||
$container->extend('view', function ($view, $c) {
|
$container->extend('view', function ($view, $c) {
|
||||||
$twig = $view->getEnvironment();
|
$twig = $view->getEnvironment();
|
||||||
|
|
||||||
if (!$twig->hasExtension('Twig\Extra\Intl\IntlExtension')) {
|
$twig->addExtension(new IntlExtension());
|
||||||
$twig->addExtension(new IntlExtension());
|
|
||||||
}
|
|
||||||
$twig->addExtension(new FormatCronExtension($c));
|
$twig->addExtension(new FormatCronExtension($c));
|
||||||
|
|
||||||
return $view;
|
return $view;
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
{% if checkAccess('uri_tasks') %}
|
|
||||||
<li>
|
|
||||||
<a href="{{site.uri.public}}/tasks"><i class="fas fa-tasks fa-fw"></i> <span>{{ translate("TASK", 2) }}</span></a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
@@ -2,5 +2,9 @@
|
|||||||
|
|
||||||
{% block navigation %}
|
{% block navigation %}
|
||||||
{{ parent() }}
|
{{ parent() }}
|
||||||
{% include "navigation/partials/sidebar-tasks.html.twig" %}
|
{% if checkAccess('uri_tasks') %}
|
||||||
|
<li>
|
||||||
|
<a href="{{site.uri.public}}/tasks"><i class="fas fa-tasks fa-fw"></i> <span>{{ translate("TASK", 2) }}</span></a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
Reference in New Issue
Block a user