我使用了很多分布式任务包,例如
但是,通常我不需要一个
我应该说将
我想使用本地队列(只需通过
celery
,python-rq
,它们都依赖于外部服务,例如redis
、rabbit-mq
等等。但是,通常我不需要一个
队列服务
,换句话说,不想在我的vps上安装redis
或其他非Python服务。(也为了简化环境)我应该说将
生产者
和工作者
拆分为不同的进程(两个代码文件)是很好的。使用multiprocessing.Queue
需要将所有内容放入一个文件中,并且需要编写大量额外的代码来捕获ctrl+c
以处理退出
并保存当前排队的任务。这不会发生在celery
,python-rq
中,即使停止工作程序和生产者,任务仍然保存在队列中。我想使用本地队列(只需通过
pip install xxx
即可工作),例如磁盘队列。经过一番搜索,只找到queuelib(基于磁盘的持久性队列集合),但遗憾的是它不支持从多个进程访问。