我正在使用带有Python的celery库来并行处理一些相当大的数据集。但我运行的每日cronjob,每隔两三天就会中断,会出现以下错误。
CRITICAL/MainProcess] Unrecoverable error: ResponseError('MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.',)
redis日志看起来像
7633:M 12 Apr 07:56:28.284 * 1 changes in 900 seconds. Saving...
7633:M 12 Apr 07:56:28.288 * Background saving started by pid 9530
9530:C 12 Apr 07:56:28.372 * DB saved on disk
9530:C 12 Apr 07:56:28.373 * RDB: 2 MB of memory used by copy-on-write
7633:M 12 Apr 07:56:28.388 * Background saving terminated with success
7633:M 12 Apr 08:01:29.065 * 10 changes in 300 seconds. Saving...
7633:M 12 Apr 08:01:29.065 # Can't save in background: fork: Cannot allocate memory
7633:M 12 Apr 08:01:35.083 * 10 changes in 300 seconds. Saving...
7633:M 12 Apr 08:01:35.088 * Background saving started by pid 9998
9998:C 12 Apr 08:01:35.099 * DB saved on disk
9998:C 12 Apr 08:01:35.101 * RDB: 2 MB of memory used by copy-on-write
7633:M 12 Apr 08:01:35.188 * Background saving terminated with success
相关的系统配置是
有趣的是,完全相同的配置和系统在另一个(开发)服务器上正常运行,另一个运行Ubuntu 16.04。但是制作方法却失败了。请注意,我不是芹菜和redis的大专家,只是通过大量的谷歌搜索和一些教程后得到的代码。因此,请尝试以相对基本的术语保持故障排除步骤。另外,当我ping shell上的redis-cli时,我得到一个pong作为回报,这表明服务器正在运行。