Do not get duplicates when finlling with non posted reels
This commit is contained in:
@ -127,8 +127,13 @@ class InstagramRepostJob extends BrowserJob implements ShouldBeUniqueUntilProces
|
|||||||
|
|
||||||
// Add unreposted reels to the job run if not enough reels were downloaded
|
// Add unreposted reels to the job run if not enough reels were downloaded
|
||||||
if (count($toDownloadReels) < self::MAX_REPOSTS_PER_JOB) {
|
if (count($toDownloadReels) < self::MAX_REPOSTS_PER_JOB) {
|
||||||
|
$toDownloadReelsIds = array_map(function ($reel) {
|
||||||
|
return $reel->reel_id;
|
||||||
|
}, $toDownloadReels);
|
||||||
|
|
||||||
$unrepostedReels = InstagramRepost::where("reposted", false)
|
$unrepostedReels = InstagramRepost::where("reposted", false)
|
||||||
->where("repost_tries", "<", self::MAX_REPOST_TRIES) // Limit to 3 tries
|
->where("repost_tries", "<", self::MAX_REPOST_TRIES) // Limit to 3 tries
|
||||||
|
->whereNotIn("reel_id", $toDownloadReelsIds) // Avoid already downloaded reels
|
||||||
->whereIn("account_id", InstagramAccount::whereIn("username", $accounts)->pluck("id"))
|
->whereIn("account_id", InstagramAccount::whereIn("username", $accounts)->pluck("id"))
|
||||||
->take(self::MAX_REPOSTS_PER_JOB - count($toDownloadReels))
|
->take(self::MAX_REPOSTS_PER_JOB - count($toDownloadReels))
|
||||||
->get();
|
->get();
|
||||||
|
Reference in New Issue
Block a user