MOO-cows Mailing List Archive
[Prev][Next][Index][Thread]
Re: BETA-TEST release of LambdaMOO version 1.8.0beta1
Gustavo Glusman writes:
> >-- Added support for in-DB handling of all tracebacks, of which there are
> > two kinds: unhandled errors and tasks that have timed out.
> ...
> > In both situations, the indicated verb call is made with the same
> > task_id() as the task that caused the traceback.
>
> Is the special verb call done immediately, or is it added to somebody's
> task queue? In other words, is there guarantee that nothing else will
> happen in between?
Yes; it happens entirely within the virtual machine, before returning to the
task manager.
> >If the handler verb call
> > either suspends or returns a true value, then that code is considered to
> > have handled the traceback and no further processing will be done by the
> > server.
>
> It would be quite useful if the actual value returned were used by the
> server to consider what to do next with the failing task, other than
> letting it die.
> For example, if $handle_task_timeout returned -
> {seconds-to-suspend, new-tick-count, new-second-count}
> ...and both counts were positive, the original task that ran out of
> resources might be allowed to resume as if nothing happened, with the new
> tick/second counts as specified, after suspending for the specified number
> of seconds.
This would be non-trivial to add; right now, the task has already been blown
away by the time your handler runs.
> As you can see, I haven't really thought this out fully, but one of the
> things that always bothered me in MOO programming is that all the tasks
> have to keep wasting time suspending-if-needed, and there is no method for
> providing a safety net for important tasks. The new functionality is a big
> step in this direction (i.e. not just a dumb traceback), but the task dies
> anyway, no matter what you do...
I agree that this is a major failing of MOO, but no solution made it to the
fully-designed stage before beta. Now, it's too late (for me, anyway).
Pavel
References:
Home |
Subject Index |
Thread Index