View previous topic :: View next topic |
Author |
Message |
Paolo Invernizzi
Joined: 20 Jul 2006 Posts: 17
|
Posted: Fri Jul 28, 2006 10:01 am Post subject: Cluster Channed and GrowableBuffer |
|
|
I'm using mango.cluster for pushing tasks a taskserver, and I've the impressing that the GrowBuffer of the Channel is not working...
Try to deploy a Task bigger than usual... it fails to me, untill I raise the dimension of the buffer in qos.Cluster.Channel...
Is the ProtocolWriter really using only GrowBuffer.append?
Someone can confirm that's there's a bug?
---
Paolo |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Fri Jul 28, 2006 11:07 am Post subject: |
|
|
Can you provide some further information, please? What is the exception? What sizes (approximately) are the smaller and larger tasks? Anything else that seems relevant?
Thx; |
|
Back to top |
|
|
Paolo Invernizzi
Joined: 20 Jul 2006 Posts: 17
|
Posted: Sat Jul 29, 2006 3:30 am Post subject: |
|
|
kris wrote: | Can you provide some further information, please?
|
Sorry, I would like to inverstigate more, but was friday evening...
You can take the tserver.d example, add, for example, a char[] 'data' field to the task class (naturally add it to the read/write method) and fill it with different size data previous to post the task.
kris wrote: | What is the exception?
|
I really don't see any exception raised.
3280 INFO my.task.server - publishing tasks ...
3780 TRACE my.task.server - disabling node 'barad-dur'
3780 ERROR my.task.server - No cluster servers are available
kris wrote: | What sizes (approximately) are the smaller and larger tasks?
|
Task with the data field (see above) filled with 2048 chars are not dispatched... with 2047 all is ok.
kris wrote: | Anything else that seems relevant?
|
Nope... only a question... I'm using a cluster client to push computing tasks to different task servers (one cluster server/task server per machine).
What's the best way to have the task with the results back to the client?
Right now I'm registering in the client a listener for tasks, and I've modified the cluster task server to reply back the task after the processing...
Code: |
if( cast(bool) (task.getReply().length > 0) )
event.reply(task.getReply(),task);
|
but I guess that every task has a getReply, so the 'if' is always true...
Suggestion for a better way are welcome!
---
Paolo Invernizzi |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Thu Aug 03, 2006 10:16 pm Post subject: |
|
|
Hey there;
I've been a bit occupied with other stuff, but will take a look at this tomorrow.
For replies from a task, one would typically post a simple payload onto an appropriate channel (a different one from the Task channel). The payload would contain the result of the task, and the task originator (or some other entity, or entities) would be listening on that secondary channel for replies.
BTW: the whole thing with distributed tasks will become dramatically more useful when DDL goes live ... it's gettting real close now |
|
Back to top |
|
|
Paolo Invernizzi
Joined: 20 Jul 2006 Posts: 17
|
Posted: Sat Sep 16, 2006 12:14 pm Post subject: |
|
|
Hi kriss,
kris wrote: | I've been a bit occupied with other stuff, but will take a look at this tomorrow.
|
Any news about this?
Thanks in advance!
Paolo |
|
Back to top |
|
|
|