在beanstalkd
telnet localhost 11300
USING foo
put 0 100 120 5
hello
INSERTED 1
如果我保留这份工作,怎么知道这份工作的优先顺序呢?我可以通过将新优先级等于当前优先级+100 来释放它吗?
答案 0 :(得分:1)
Beanstalkd不会返回数据的优先级 - 但您可以轻松地将其作为元数据添加到您自己的邮件正文中。例如,使用Json作为消息包装器:
{'priority':100,'timestamp':1302642381,'job':'download http://example.com/'}
将保留的下一条消息将是所选管道中的下一个可用条目,根据优先级和时间 - 根据您最初将消息发送到队列时请求的任何延迟。
添加:您可以获得beanstalk作业的优先级(以及其他一些信息,例如之前保留的次数),但这是一个额外的调用 - 到 stats-job 命令。使用jobId调用,它返回大约十几个不同的信息。请参阅protocol文档和您的图书馆文档。