Comments (4)
i mean how to push the comman into redis, your example is a background commod
from yii2-command-bus.
public function handle($command)
{
$chain = $this->createMiddlewareChain($command, $this->middlewares);
return $chain($command);
}
this method in CommandBus which is called in QueueBusController, will push the $command into the queue again if the QueuedCommandMiddleware is setted in commandBus component, which is wrong.
from yii2-command-bus.
i finally figure it out...
actually a selfhandle command will handle itselt twice, one time in the yii2 web controller, one time in the yii2 console controller(either queue or background type). so in the handle method in command, user have to check $this->isRunningInQueue() to decide if to do the real job. i think this is puzzling. i take a lot of time to understand this.
from yii2-command-bus.
But it keeps CommandBus from violationg SRP :-)
It's responsibility of corresponding middlewares, so isRunningInQueue()
is the only way to handle it.
from yii2-command-bus.
Related Issues (20)
- Потеря данных в фоновых процессах. HOT 17
- Problem with LoggingMiddleware in combination with QueuedCommandMiddleware HOT 2
- Still issues with logging and loop on exceptions
- Background commands not work for this case HOT 3
- details description of background process
- Issue with PHP_BINARY HOT 5
- waiting for multiple Background Commands running in parallel
- Использование другой очереди заданий HOT 4
- php7.2 support HOT 1
- Object can not be specific class name HOT 8
- BackgroundCommandMiddleware proc_open Error
- PHP 7.2 Cannot use yii\base\Object as Object because 'Object' is a special class name
- Error: Argument 1 passed to trntv\bus\locators\ClassNameLocator::addHandler() must be an instance of trntv\bus\interfaces\Handler, string given
- extract queue and background functionality to middlewares
- More tests
- Question regarding Logging HOT 3
- don't sleep if there are jobs in queue in QueueBusController.php HOT 1
- DelayedCommand feature request HOT 2
- LoggingMiddleware
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-command-bus.