ensure we refresh all market data

including dividends when importing
This commit is contained in:
hackerESQ
2024-09-18 20:14:30 -05:00
parent 0748ff012d
commit 1db90cce48
2 changed files with 8 additions and 4 deletions
+6 -2
View File
@@ -2,7 +2,6 @@
namespace App\Imports;
use App\Console\Commands\RefreshMarketData;
use App\Imports\Sheets\PortfoliosSheet;
use Illuminate\Support\Facades\Artisan;
use App\Imports\Sheets\DailyChangesSheet;
@@ -10,6 +9,8 @@ use App\Imports\Sheets\TransactionsSheet;
use Maatwebsite\Excel\Events\AfterImport;
use Maatwebsite\Excel\Concerns\Importable;
use Maatwebsite\Excel\Concerns\WithEvents;
use App\Console\Commands\RefreshMarketData;
use App\Console\Commands\RefreshDividendData;
use Maatwebsite\Excel\Concerns\WithMultipleSheets;
class BackupImport implements WithMultipleSheets, WithEvents
@@ -23,7 +24,10 @@ class BackupImport implements WithMultipleSheets, WithEvents
public function registerEvents(): array
{
return [
AfterImport::class => fn() => Artisan::queue(RefreshMarketData::class)
AfterImport::class => function() {
Artisan::queue(RefreshMarketData::class);
Artisan::queue(RefreshDividendData::class);
}
];
}
+2 -2
View File
@@ -15,7 +15,7 @@ class PortfoliosSheet implements ToCollection, WithValidation, WithHeadingRow, S
{
public function collection(Collection $portfolios)
{
foreach ($portfolios as $portfolio) {
foreach ($portfolios as $index => $portfolio) {
Portfolio::unguard();
@@ -28,7 +28,7 @@ class PortfoliosSheet implements ToCollection, WithValidation, WithHeadingRow, S
'notes' => $portfolio['notes'],
]);
Artisan::queue(SyncDailyChange::class, ['portfolio_id' => $portfolio->id])->delay(10);
Artisan::queue(SyncDailyChange::class, ['portfolio_id' => $portfolio->id])->delay(30 + ($index * 10));
}
}