Merge pull request #5829 from annando/develop

Cache the AP delivery process
This commit is contained in:
Hypolite Petovan 2018-10-06 00:06:47 -04:00 committed by GitHub
commit 13c5bc807b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 3 deletions

View file

@ -22,6 +22,7 @@ use Friendica\Model\Profile;
use Friendica\Core\Config;
use Friendica\Object\Image;
use Friendica\Protocol\ActivityPub;
use Friendica\Core\Cache;
/**
* @brief ActivityPub Transmitter Protocol class
@ -480,6 +481,27 @@ class Transmitter
return $type;
}
/**
* @brief Creates the activity or fetches it from the cache
*
* @param integer $item_id
*
* @return array with the activity
*/
public static function createCachedActivityFromItem($item_id)
{
$cachekey = 'APDelivery:createActivity:' . $item_id;
$data = Cache::get($cachekey);
if (!is_null($data)) {
return $data;
}
$data = ActivityPub\Transmitter::createActivityFromItem($item_id);
Cache::set($cachekey, $data, CACHE_QUARTER_HOUR);
return $data;
}
/**
* @brief Creates an activity array for a given item id
*