- Головна
-
- Встановлення Python.
- Налаштування віртуального оточення
- Типи даних
- Математичні оператори
- Встроїні функції
- Бібліотеки Python
- Колекція List
- Кортежі Tuple
- Множини (Set)
- Рядки Str
- Список escape-символів
- Колекція Dictionary
- Множина frozenset
- Класи та об'єкти
- Винятки
- Пакетні менеджери
- Перевантаження операторів
- Робота з файлами та директоріями
- HttpClient
- HTTPServer
- Модуль socket
- Робота з пошту
- Багатопоточність
- Асинхронні методи
- Event Loop
- Обхід GIL
- Черга deque
- Масиви постійного розміру
-
- Webpack. Базове складання проекту
- GULP. SCSS. Налаштування оточення
- SCSS стилі особливості
- Шпаргалка SQL
- MySQL dump
- Git команди
- Розгорнути ssh git репозиторію на сервері
- Консольні команди
- Декілька версій PHP на сервері
- PHPStorm+xDebug+OpenServer
- PHPUnit + OpenServer
- Додати застосунок з Windows Store в автозавантаження
- Зовнішні посилання
Черги Laravel
Черга (queue) - це якийсь пул Завдання реалізовано за принципом FIFO - "першим прийшов - першим пішов".
Завдання (job) – це цілісний елемент черги. (Черга може бути порожньою або складатися з однієї і більше завдань)
Воркер (worker) - це програма, яка прослуховує Чергу і виконує Завдання.
Створюємо файл міграції таблиці jobs.
jobs - це таблиця Завдання, які можна групувати по Чергах (поле queue)
php artisan queue:tableСтворюємо файл міграції до таблиці failed_jobs
php artisan queue:failed-tableСтворюємо перші Job's
php artisan make:job BlogPostAfterCreateJob
php artisan make:job BlogPostAfterDeleteJob
php artisan make:job ProcessVideoJobУ файлі налаштувань .env встановлюємо QUEUE_CONNECTION=database
Додаткові налаштування виконуємо в config/queue.php
Додаємо завдання в чергу
$job = new BlogPostAfterCreateJob($item);
$this->dispatch($job); // У чергу (Якщо є implements ShouldQueue, то Job буде поміщений в чергу інакше в будь-якому випадку виконатися відразу)
$this->dispatchNow($job); // Виконуємо відразу
BlogPostAfterDeleteJob::dispatch($id)->delay(20);
BlogPostAfterDeleteJob::dispatchNow($id);
dispatch(new BlogPostAfterDeleteJob($id));
dispatch_now(new BlogPostAfterDeleteJob($id));Запуск черги (На сервері запуск через супервізер)
php artisan queue:work
// Запуск процес обробки завдань черги як демон
// Всі зміни, зроблені в коді після запуску, прийняті не будуть.
// Тобто після апдейту коду буде потрібно перезапуск команди
php artisan queue:work --queue=queuName1,queueName2
//Спочатку виконує всі завдання з черги queuName1, потім queuName2
php artisan queue:listen
// Запускає процес обробки завдань зазначеної черги.
// Зміни, зроблені в коді після запуску, будуть прийняті
// Гірше за продуктивністю порівняно з "queue:work"
php artisan queue:restart
// М'який перезапуск демона queue:work після того як завершить завдання, що виконується.
php artisan queue:failed
// Перегляд таблиці провалення задач
php artisan queue:retry all
// Повернення у чергу виконання всіх провалених завдань
php artisan queue:retry 5
// Повернення проваленого завдання (id=5) у чергу виконання
2015-2026 © SumyNikNet