You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.1 KiB
40 lines
1.1 KiB
<?php |
|
|
|
use Miniflux\Handler; |
|
use Miniflux\Model; |
|
use Miniflux\Session\SessionStorage; |
|
use Pheanstalk\Pheanstalk; |
|
|
|
require __DIR__.'/app/common.php'; |
|
|
|
if (php_sapi_name() !== 'cli') { |
|
die('This script can run only from the command line.'.PHP_EOL); |
|
} |
|
|
|
$connection = new Pheanstalk(BEANSTALKD_HOST); |
|
$session = SessionStorage::getInstance(); |
|
|
|
while ($job = $connection->reserveFromTube(BEANSTALKD_QUEUE)) { |
|
$payload = unserialize($job->getData()); |
|
$start_time = microtime(true); |
|
|
|
echo 'Processing feed_id=', $payload['feed_id'], ' for user_id=', $payload['user_id']; |
|
$user = Model\User\get_user_by_id($payload['user_id']); |
|
|
|
if (empty($user)) { |
|
echo ', user not found (removed?)'.PHP_EOL; |
|
} else { |
|
$session->flush(); |
|
$session->setUser($user); |
|
|
|
Handler\Feed\update_feed($payload['user_id'], $payload['feed_id']); |
|
Model\Item\autoflush_read($payload['user_id']); |
|
Model\Item\autoflush_unread($payload['user_id']); |
|
|
|
echo ', duration='.(microtime(true) - $start_time).' seconds', PHP_EOL; |
|
|
|
Miniflux\Helper\write_debug_file(); |
|
} |
|
|
|
$connection->delete($job); |
|
}
|
|
|