mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-03 22:17:35 -05:00 
			
		
		
		
	Clean up filesystem:
This commit is contained in:
		
							parent
							
								
									046bbfd546
								
							
						
					
					
						commit
						a42223a0be
					
				
							
								
								
									
										74
									
								
								app/Console/Commands/S3Cleanup.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								app/Console/Commands/S3Cleanup.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,74 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace App\Console\Commands;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Models\Company;
 | 
				
			||||||
 | 
					use Illuminate\Console\Command;
 | 
				
			||||||
 | 
					use Illuminate\Support\Facades\Storage;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class S3Cleanup extends Command
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * The name and signature of the console command.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @var string
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    protected $signature = 'ninja:s3-cleanup';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * The console command description.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @var string
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    protected $description = 'Remove orphan folders';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Create a new command instance.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return void
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function __construct()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        parent::__construct();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Execute the console command.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return int
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function handle()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $c1 = Company::on('db-ninja-01')->pluck('company_key');
 | 
				
			||||||
 | 
					        $c2 = Company::on('db-ninja-02')->pluck('company_key');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $merged = $c1->merge($c2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $c3 = Storage::disk(config('filesystems.default'))->directories();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $diff = $merged->diff($c3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $this->LogMessage("Disk Cleanup");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $this->logMessage("Folders to delete = ". $c1->count());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $diff->each(function ($dir){
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					            $this->logMessage("Deleting $dir");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Storage::deleteDirectory($dir);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $this->logMessage("exiting");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private function logMessage($str)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $str = date('Y-m-d h:i:s').' '.$str;
 | 
				
			||||||
 | 
					        $this->info($str);
 | 
				
			||||||
 | 
					        $this->log .= $str."\n";
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -105,6 +105,7 @@ class CreateEntityPdf implements ShouldQueue
 | 
				
			|||||||
        /* Set customized translations _NOW_ */
 | 
					        /* Set customized translations _NOW_ */
 | 
				
			||||||
        $t->replace(Ninja::transformTranslations($this->entity->client->getMergedSettings()));
 | 
					        $t->replace(Ninja::transformTranslations($this->entity->client->getMergedSettings()));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /*This line of code hurts... it deletes ALL $entity PDFs... this causes a race condition when trying to send an email*/
 | 
				
			||||||
        // $this->entity->service()->deletePdf();
 | 
					        // $this->entity->service()->deletePdf();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (config('ninja.phantomjs_pdf_generation') || config('ninja.pdf_generator') == 'phantom') {
 | 
					        if (config('ninja.phantomjs_pdf_generation') || config('ninja.pdf_generator') == 'phantom') {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user