【问题标题】:How to hook a debugger to a python code running via django crontab?如何将调试器挂接到通过 django crontab 运行的 python 代码?
【发布时间】:2019-07-06 19:33:27
【问题描述】:

我有一个基于 Django 的 Web 应用程序,该应用程序的某些功能计划使用 django-crontab 作为 cron 作业的一部分运行。我想挂钩一个调试器,以便我可以检查我的代码的一些奇怪行为。我通常使用 Visual Studio 代码。是否可以挂钩调试器,因为 cron 作业基本上独立于服务器运行?

【问题讨论】:

  • 你想在你的生产服务器上这样做吗?
  • 不,我的本地先测试服务器

标签: django python-3.x cron django-cron


【解决方案1】:

您可以使用pdbipdb 在代码中放置断点调试器。像这样:

def some_function():
    # some code
    import pdb;pdb.set_trace()  # or use ipdb
    # rest of the code

然后在 shell 中运行 python manage.py crontab show 以显示具有 ids 的 cronjobs,然后运行 ​​python manage.py crontab run <id>。它将击中调试器,然后你将击中断点。因此您可以在此处使用调试器。

【讨论】:

  • 有什么方法可以连接到我的编辑器的调试器,例如 VS Code?​​span>
  • 我没试过,所以不能肯定。您可以尝试使用上述命令python manage.py crontab run <id> 启动调试器。但是,使用 PDB 几乎是标准。
  • 谢谢,对 python 来说还是新手,命令行方法不是太多交互性 ;-)
  • 尝试使用ipdb,它更好用:)。顺便说一句,please consider marking it as accepted answer 如果对你有帮助:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-25
  • 1970-01-01
  • 2020-02-21
  • 2014-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多