最近想找一个能命令行上使用的队列工具

对它的期望是:
1.可以不依赖于队列服务器
2.有可靠的命令行接口

结果是没有找到很合适的,但找了 enqueue库和nsqd,分别满足1和2的需求

enquque: PHP 可基于文件系统的队列,可以使用redis kafka beanstalk

// 生产者
$context = (new \Enqueue\ConnectionFactoryFactory())
    ->create('file:///path/to/queue/dir')
    ->createContext();
$destination = $context->createQueue('task');
//$destination = $context->createTopic('task');
$message = $context->createMessage('Hello world!');
$context->createProducer()->send($destination, $message);

// 消费者
$context = (new \Enqueue\ConnectionFactoryFactory())
    ->create('file:///path/to/queue/dir')
    ->createContext();
$destination = $context->createQueue('task');
$consumer = $context->createConsumer($destination)
while(true){
    $message = $consumer->receive();
    var_dump($message);
}

nsqd: Go 有丰富的命令行接口

-rwxr-xr-x@ 1 nop  staff   4.7M  8 20 07:41 nsq_stat
-rwxr-xr-x@ 1 nop  staff   4.9M  8 20 07:41 nsq_tail
-rwxr-xr-x@ 1 nop  staff   5.0M  8 20 07:41 nsq_to_file
-rwxr-xr-x@ 1 nop  staff   5.0M  8 20 07:41 nsq_to_http
-rwxr-xr-x@ 1 nop  staff   5.0M  8 20 07:41 nsq_to_nsq
-rwxr-xr-x@ 1 nop  staff   7.2M  8 20 07:41 nsqadmin
-rwxr-xr-x@ 1 nop  staff   7.4M  8 20 07:41 nsqd
-rwxr-xr-x@ 1 nop  staff   6.8M  8 20 07:41 nsqlookupd
-rwxr-xr-x@ 1 nop  staff   4.8M  8 20 07:41 to_nsq

NSQ 参考文档

发表评论

电子邮件地址不会被公开。 必填项已用*标注