我正在将我的 Celery 后端从 redis 更改为 rabbitmq。我可以让新的经纪人改变我的BROKER_URL。但是我想知道如何将现有的计划任务从 redis 迁移到 rabbitmq 代理?
如果可能的话,我想通过 Python 脚本来做到这一点。
默认情况下,Celery 提供以下命令。
celery -b "redis://<url>:<port>/<db>" inspect scheduled > scheduled_tasks.txt
celery migrate "redis://<url>:<port>/<db>" "amqp://<username>:<password>@<url>:<port>/<vhost>"
celery -b "amqp://<username>:<password>@<url>:<port>/<vhost>" inspect scheduled > post_migration_scheduled_tasks.txt
diff scheduled_tasks.txt post_migration_scheduled_tasks.txt