miniflux-legacy/cronjob.php

37 lines
1.1 KiB
PHP
Raw Normal View History

2013-02-18 03:48:21 +01:00
<?php
2013-05-21 12:25:13 +02:00
2014-02-08 20:13:14 +01:00
require __DIR__.'/common.php';
2013-02-18 03:48:21 +01:00
2013-05-22 13:13:56 +02:00
if (php_sapi_name() === 'cli') {
2013-05-21 12:25:13 +02:00
2013-05-18 20:35:16 +02:00
$options = getopt('', array(
'limit::',
'call-interval::',
'update-interval::',
'database::',
2013-05-18 20:35:16 +02:00
));
2013-05-22 13:13:56 +02:00
}
else {
2013-05-18 20:35:16 +02:00
2013-05-22 13:13:56 +02:00
$options = $_GET;
}
2013-05-18 20:35:16 +02:00
if (! empty($options['database'])) {
2014-05-20 20:20:27 +02:00
Model\Database\select($options['database']);
}
$limit = ! empty($options['limit']) && ctype_digit($options['limit']) ? (int) $options['limit'] : Model\Feed\LIMIT_ALL;
2013-05-22 13:13:56 +02:00
$update_interval = ! empty($options['update-interval']) && ctype_digit($options['update-interval']) ? (int) $options['update-interval'] : null;
$call_interval = ! empty($options['call-interval']) && ctype_digit($options['call-interval']) ? (int) $options['call-interval'] : null;
if ($update_interval !== null && $call_interval !== null && $limit === Model\Feed\LIMIT_ALL && $update_interval >= $call_interval) {
2013-05-21 12:25:13 +02:00
2014-02-08 20:13:14 +01:00
$feeds_count = PicoDb\Database::get('db')->table('feeds')->count();
2013-05-22 13:13:56 +02:00
$limit = ceil($feeds_count / ($update_interval / $call_interval));
2013-05-18 20:35:16 +02:00
}
Model\Feed\refresh_all($limit);
Model\Item\autoflush_read();
Model\Item\autoflush_unread();
Model\Config\write_debug();