我目前正在评估 Gearman 以在我们的后端分出一些昂贵的数据导入工作。到目前为止,这看起来很有希望。但是,缺少一件我似乎无法找到任何信息的东西。如何从 Gearman 获取计划作业列表?
我意识到我可以使用管理协议来获取每个功能的当前排队作业的数量,但我需要有关实际作业的信息。还可以选择使用持久队列(例如 MySQL)并在数据库中查询作业,但绕过 Gearman 获取此类信息对我来说是非常错误的。除此之外,我没有想法。
可能我根本不需要这个:) 所以这里有更多关于我想做的背景,我愿意接受更好的建议。客户端和工作人员都在 PHP 中运行。在我们的管理界面中,管理员可以为客户触发新的导入;由于导入需要一段时间,因此它作为后台任务启动。现在我希望能够回答的简单问题是:该客户端的最后一次导入是什么时候?该客户端的导入是否已排队(在这种情况下,触发新导入应该无效)?很高兴:这个工作在队列中的哪个位置(这样我可以估计它什么时候运行)?
谢谢!