How many people want this?
I'm reluctant to add a feature for a task that can be accomplished
with existing features.
kr
That is a really neat idea. I could implement it without too much trouble.
I'm wary, though, because I think it would be hard to explain. There
would have to be a lot of conditions and caveats and it would require
an undue amount of verbiage in protocol.txt. (See also
http://www.python.org/dev/peps/pep-0020/ number 17.)
It would also be a special case in the command pipelining behavior,
which is otherwise consistent. (See also number 8 in that list
mentioned above.)
> ...
> (as of now it sort of works, which i discovered by accident
> the other day, but it should be made to either work in a
> well defined way, or not work at all):
>
> [snip example]
> ...
It's well-defined now, although the protocol doc could be more
explicit on this point. This is command pipelining -- it just looks
weird in this case because the reserve command takes so long to run.
kr
This still seems like a somewhat special-purpose scenario. For
instance, at causes.com we hardly ever want to delete old jobs; even
though they are old we want to make sure they run.
I like that beanstalkd is pretty dumb. The fancy, smart features
belong in the clients.
That having been said I am not opposed to a ttl feature. It's simple
enough to design and explain. I doubt I'd be able to get to it for a
while. I would happily accept a patch for this feature if you need it
sooner. :)
kr
I agree this is a problem. It will be solved by mailbox tubes:
https://github.com/kr/beanstalkd/issues/3
This solution lets us avoid introducing another timeout.
If nothing is listening on the mailbox tube, the job will
be deleted immediately.
kr
kr