Comments (8)
У sync-драйвера нет консольных команд. Это отладочный драйвер, и он либо выполняет задачу в основном потоке, либо не выполняет ее если sync\Driver::$handle === false
. Консольные команды есть в драйверах db, redis, amqp и gearman. Подробнее об этом в документации.
from yii2-queue.
Ок, мне бы хотелось в dev-среде, не инсталлируя redis (который у меня на prod), не трогая db и тд, сэмулировать ситуацию когда мой веб ставит что-то в очередь, а cron или что-то подобное их извлекает и выполняет через command line? Не могли бы вы имплементировать некую простую очередь на основей файлов или чего-то подобного? И еще на мой взгляд sync должен иметь команды, пусть они и ничего не делают для исключения подобного конфуза, ибо непонятно, подключлась компонента или нет.
from yii2-queue.
Ок, мне бы хотелось в dev-среде, не инсталлируя redis (который у меня на prod), не трогая db и тд, сэмулировать ситуацию когда мой веб ставит что-то в очередь, а cron или что-то подобное их извлекает и выполняет через command line?
С редисом понятно. А почему не через базу данных? Не представляю dev-режим без базы данных.
Не могли бы вы имплементировать некую простую очередь на основей файлов или чего-то подобного?
Вы и сами можете это сделать. Как в рамках конкретного проекта, так и в виде отдельного пакета. Свой класс типа \app\queue\FileDriver
унаследованный от \zhuravljov\yii\queue\Driver
с реализацией нужно вам транспортного уровня.
И еще на мой взгляд sync должен иметь команды, пусть они и ничего не делают для исключения подобного конфуза, ибо непонятно, подключлась компонента или нет.
Не думаю, что это хорошая идея. Драйвер реализует транспортную прослойку, и, это нормально, когда у каждого драйвера свои уникальные требования к окружению и способы обработки очереди. Где-то они похожи, где-то - нет.
Представьте себе очередь на базе http-запросов к веб-серверу. Основной поток отправляет запрос с заданием и не дожидаясь ответа обрывает соединение. Сервер, получив задание, игнорирует обрыв соединения, и продолжает его выполнять столько времени сколько потребуется. В этом кейсе тоже нет места консольным командам.
from yii2-queue.
Ну хорошо. Но в процессе использования по-крайней мере режима sync вскрылась более серьезная проблема. Запуск задачи по push из веба не убивал весь процесс по фатальной ошибке, ошибки никуда не логировались, да и логи типа info никуда не попадали тоже. Я что-то не так сконфигурировал? Можно это исправить?
from yii2-queue.
Добавьте в конфиг LogBehavior
:
'as log' => \zhuravljov\yii\queue\LogBehavior::class,
Добавил пример в документацию.
from yii2-queue.
Получилось?
from yii2-queue.
Да, все работает, спасибо.
from yii2-queue.
Пожалуйста.
from yii2-queue.
Related Issues (20)
- Fixing the maximum PHP version HOT 9
- update github link
- update docs link
- Can we replace new Process with something like pcntl_fork to optimize queue execution? HOT 3
- update tests folder links
- update root folder links
- Yii version 2.0.10 reports an error when using clientList for Redis in yii queue version 2.0.0 HOT 2
- Ability to work with headers in the rabbitmq driver
- Default TTR from config seems not to be apllied HOT 4
- find no TemporayException HOT 1
- i cant run queue/listen, any configuration ? HOT 1
- Why are environment variables not passed to the created process?! HOT 5
- https://github.com/yiisoft/yii2-queue/pull/464/files is merged 2.3.6 HOT 1
- M211218163000JobQueueSize DB driver migration not using tableName property HOT 1
- Summary of version 3.0
- Before save & QUEUE redis driver
- How to get a job details from job ID and run that particular queue job ID separtly
- StatisticsProvider for queue
- problem with TTR parameter and AWS SQS queue HOT 2
- Fill `allow-plugins` section in `composer.json` for automatic installation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yii2-queue.