php - 使用 crontab vs daemon 执行 slave.php 文件
问题描述
我们决定使用 redis 作为我们相对较小的项目的消息代理,关于如何在生产中设置和使用 redis 的信息非常少。我们在 aws 上使用 redis。我已经参考了这个例子:https ://redis4you.com/code.php?id= 012 并在本地使用 redis 服务器进行了测试,一切正常。
然而,我们在使用 crontab 和守护进程服务之间纠结,并不确定哪个是最好的,尽管实现 cron 是最简单的。我研究了普遍接受的做事方式,但什么也没看到。
使用 crontab 意味着我将不得不在某些时候退出 Slave.php 文件,并使用下面的代码片段,我对此并不完全满意
public function processMessageInQueue(){
while(!is_null($message_id = $this->predis->lpop("queue:message"))){
$message = $this->predis->hgetall("message:$message_id");
// Delete the key
$this->predis->del("message:$message_id");
// Process the message...
$message = json_decode($message['message_data'], 1);
$this->processMessage((array)$message);
}
exit(0);
}
有没有更好的方法来做到这一点,还是必须使用 cron 或守护程序服务来完成?
解决方案
推荐阅读
- wechat - 如何在微信小程序中进行微信支付?
- javascript - 如何将光标对齐到居中占位符文本的开头?
- bash - Git:如何检查 CI 运行的差异是否在 src (!src/**) 之外修改了文件
- math - 这个表达式“C<>M<>Y”是什么意思?
- python - 从长期气候数据的文本文件创建 Pandas 数据框
- macos - 无效的命令“SSLEngine”
- android - 如何使用不同的屏幕更改脚手架浮动操作按钮的操作。喷气背包组成
- vue.js - vue如何调用另一个组件的函数
- angular - Sorting on json properties function works, but how to define it with strong type checking turned on?
- java - 验证检查按钮不可用