Fix multiple notifications send to PIC at one time
- fix by removing previous scheduled notifications job before updating the notification configurations
This commit is contained in:
@@ -4,11 +4,10 @@ namespace App\Http\Controllers;
|
||||
|
||||
use App\Jobs\WhatsappUnsoldCommodityNotification;
|
||||
use App\Jobs\WhatsappUnsoldCommodityScanner;
|
||||
use App\JobStatus;
|
||||
use App\Setting;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
@@ -72,12 +71,14 @@ class SettingController extends Controller
|
||||
->update(['value' => json_encode($value)]);
|
||||
}
|
||||
|
||||
$this->cancelPreviousNotificationJobs();
|
||||
$this->cancelPreviousCommodityNotificationsJobs();
|
||||
|
||||
dispatch((new WhatsappUnsoldCommodityScanner()));
|
||||
|
||||
return response()->json('success');
|
||||
}
|
||||
|
||||
|
||||
public function filterUniqueById($array, $key)
|
||||
{
|
||||
$uniqueIds = [];
|
||||
@@ -97,10 +98,25 @@ class SettingController extends Controller
|
||||
];
|
||||
}
|
||||
|
||||
public function cancelPreviousNotificationJobs()
|
||||
|
||||
public function cancelPreviousCommodityNotificationsJobs()
|
||||
{
|
||||
JobStatus::on('mysql7')->where('type', WhatsappUnsoldCommodityNotification::class)->update([
|
||||
'status' => false
|
||||
]);
|
||||
// flushed the fail job in queueu
|
||||
Artisan::call('queue:flush');
|
||||
|
||||
$getClassNameString = function($className){
|
||||
$ola = explode("\\", $className);
|
||||
return end($ola);
|
||||
};
|
||||
|
||||
DB::connection('mysql7')
|
||||
->table('jobs')
|
||||
->where('payload', 'like', '%' . $getClassNameString(WhatsappUnsoldCommodityNotification::class) . '%')
|
||||
->delete();
|
||||
|
||||
DB::connection('mysql7')
|
||||
->table('jobs')
|
||||
->where('payload', 'like', '%' . $getClassNameString(WhatsappUnsoldCommodityScanner::class) . '%')
|
||||
->delete();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user