class DispatchLikeToNewsfeedPost extends Command

Класс DispatchLikeToNewsfeedPost - консольная команда для автоматического выполнения циклических задач по постановке лайков на посты в ленте новостей ВКонтакте.

Эта команда запускается планировщиком Laravel каждую минуту и является ключевым компонентом для реализации циклических задач по автоматической постановке лайков на посты в VK.

Properties

protected string $signature

Сигнатура консольной команды.

protected string $description

Описание команды, объясняющее её назначение.

Methods

void
__construct()

Конструктор класса.

void
handle()

Выполняет основную логику команды: обрабатывает активные циклические задачи на лайки, обновляет расписание лайков в начале каждого часа и выполняет задачи в соответствии с расписанием.

Details

at line 42
void __construct()

Конструктор класса.

Вызывает конструктор родительского класса Command.

Return Value

void

at line 65
void handle()

Выполняет основную логику команды: обрабатывает активные циклические задачи на лайки, обновляет расписание лайков в начале каждого часа и выполняет задачи в соответствии с расписанием.

Этот метод выполняет несколько ключевых шагов:

  1. Получает все активные циклические задачи из базы данных.
  2. Проверяет, наступил ли новый час, чтобы обновить расписание лайков (likes_distribution) для каждой задачи.
    • Если да, генерирует новый набор уникальных случайных минут в пределах часа в соответствии с полем tasks_per_hour.
    • Сохраняет новое расписание в базе данных.
  3. Для каждой активной задачи проверяет, входит ли текущая минута в расписание лайков.
    • Если да и количество оставшихся задач (tasks_count) больше 0, выполняет задачу на постановку лайка.
    • Декрементирует tasks_count и инкрементирует likes_count_hourly.
    • Если после выполнения задачи tasks_count становится равным 0, обновляет статус задачи на 'done'.
  4. Сохраняет изменения в базе данных.

Return Value

void

Exceptions

VkException