Middleware for Joins
Reported by bahuvrihi | February 16th, 2009 @ 10:25 AM
It's something to ponder. It could be very good for logging, profiling, and save points.
Upsides:
- becoming a more common structure due to rack
Downsides:
- Would work differently than rack. Rack apps are single objects that persist a long time. Executables are many objects that usually persist only for one call.
Comments and changes to this ticket
-
bahuvrihi March 16th, 2009 @ 10:18 AM
Middleware may actually not be a great idea. It may be better to just add in tasks when you need to.
The structure of tasks truly is different than the web.
a -> b -> c
Vs.
a -> b -> c <- <-
In the case of tasks, b is passed through only once in the workflow. 'middleware' would have to wrap b... we're talking now about wrappers. In the case of the web, the request passes back and forth through b and b truly exists as it's own thing. It's not a wrapper, it's inserted in the middle of the call-return cycle. In effect it wraps what's below, but it stands on it's own feet.
-
bahuvrihi March 22nd, 2009 @ 09:50 AM
- Title changed from Middleware for executables? to Middleware for Joins
Now as full-fledged objects, Joins are great targets for middleware.
- Join.use
- Join.intern (make a block join but with middleware)
The beauty of using Join in this way is that you can have single-instance middleware if you want, ie use(instance). Also the final product is analogous to Executable/Task where any method can be made into an executable and a Task offers additional benefits. Any block can be a join, but a Join offers middleware, etc.
-
bahuvrihi April 17th, 2009 @ 11:56 AM
- State changed from new to resolved
- Assigned user set to bahuvrihi
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป
A framework for making configurable, file-based tasks and workflows.