繁体   English   中英

如何处理 django 应用程序中的管理命令异常?

[英]How to handle management command exception in django app?

我正在开发一个基于使用外部 ZeroMQ 消息队列的 django 应用程序 - 它一直监听队列,处理消息并将结果保存在数据库中。 将来,用户可以通过 API 访问这些数据。

目前我通过自定义管理命令listen运行它,该命令运行无限循环并且工作正常。 但是,每当出现某种错误(它们有时会出现,它是外部数据源)时,命令就会终止。

处理此类错误的最佳方法是什么? 我正在考虑的事情:

  1. Bash 脚本将在失败时重新启动命令
  2. Try... except Exception主命令函数中的Try... except Exception (但这似乎非常错误)
  3. 一些自定义异常处理程序 - 问题是推荐的处理程序只处理视图/请求中的错误,而我的命令不是视图/请求,它只是运行。

任何建议都会有用,也许这是对管理命令的滥用?

我有一个爬虫命令,我正在用 try/except 子句包装我的handle方法的代码,以避免因错误而停止。 但我注意到当 Django 触发数据库异常时,该命令将停止,忽略 try/except 块。 我还没有找到原因。

我认为这是应该“永远”运行(长时间运行)的命令的最佳选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM