|
@@ -16,6 +16,7 @@ use Symfony\Bridge\Doctrine\RegistryInterface;
|
|
|
use Packagist\WebBundle\Entity\Package;
|
|
|
use Psr\Log\LoggerInterface;
|
|
|
use Algolia\AlgoliaSearch\SearchClient;
|
|
|
+use Predis\Client;
|
|
|
use Packagist\WebBundle\Service\GitHubUserMigrationWorker;
|
|
|
|
|
|
/**
|
|
@@ -35,7 +36,7 @@ class PackageManager
|
|
|
protected $githubWorker;
|
|
|
protected $metadataDir;
|
|
|
|
|
|
- public function __construct(RegistryInterface $doctrine, \Swift_Mailer $mailer, \Swift_Mailer $instantMailer, \Twig_Environment $twig, LoggerInterface $logger, array $options, ProviderManager $providerManager, SearchClient $algoliaClient, string $algoliaIndexName, GitHubUserMigrationWorker $githubWorker, string $metadataDir)
|
|
|
+ public function __construct(RegistryInterface $doctrine, \Swift_Mailer $mailer, \Swift_Mailer $instantMailer, \Twig_Environment $twig, LoggerInterface $logger, array $options, ProviderManager $providerManager, SearchClient $algoliaClient, string $algoliaIndexName, GitHubUserMigrationWorker $githubWorker, string $metadataDir, Client $redis)
|
|
|
{
|
|
|
$this->doctrine = $doctrine;
|
|
|
$this->mailer = $mailer;
|
|
@@ -48,6 +49,7 @@ class PackageManager
|
|
|
$this->algoliaIndexName = $algoliaIndexName;
|
|
|
$this->githubWorker = $githubWorker;
|
|
|
$this->metadataDir = $metadataDir;
|
|
|
+ $this->redis = $redis;
|
|
|
}
|
|
|
|
|
|
public function deletePackage(Package $package)
|
|
@@ -84,6 +86,7 @@ class PackageManager
|
|
|
}
|
|
|
|
|
|
$this->providerManager->deletePackage($package);
|
|
|
+ $packageId = $package->getId();
|
|
|
$packageName = $package->getName();
|
|
|
|
|
|
$em->remove($package);
|
|
@@ -104,6 +107,12 @@ class PackageManager
|
|
|
@unlink($metadataV2Dev.'.gz');
|
|
|
}
|
|
|
|
|
|
+ // delete redis stats
|
|
|
+ try {
|
|
|
+ $this->redis->del('views:'.$packageId);
|
|
|
+ } catch (\Predis\Connection\ConnectionException $e) {
|
|
|
+ }
|
|
|
+
|
|
|
// attempt search index cleanup
|
|
|
try {
|
|
|
$indexName = $this->algoliaIndexName;
|