Php 如何保护我的API不受Sentry.io超时的影响?
我在API中使用PHP Sentry SDK(前端也使用JS客户机),今天我遇到了一个由Curl超时引起的错误,我认为是Sentry SDK客户机与主机对话。虽然我没有完整的堆栈跟踪,但我不将Curl用于其他任何东西 我已经使用哨兵好几个月了,以前没有注意到这一点 当时实际上并没有应用程序错误,所以我猜Sentry只是在连接,这让我很惊讶。我以为它只会在捕捉错误时运行。我只有基本的免费帐户,只有“问题”没有“事件” 它似乎坚持了很长时间,以至于30秒的PHP最大执行时间过期了,所以我的API出现了500个错误。(实际上,500错误一定来自Apache,它似乎没有被我安装的shutdown+错误处理程序捕获。)Php 如何保护我的API不受Sentry.io超时的影响?,php,curl,timeout,sentry,Php,Curl,Timeout,Sentry,我在API中使用PHP Sentry SDK(前端也使用JS客户机),今天我遇到了一个由Curl超时引起的错误,我认为是Sentry SDK客户机与主机对话。虽然我没有完整的堆栈跟踪,但我不将Curl用于其他任何东西 我已经使用哨兵好几个月了,以前没有注意到这一点 当时实际上并没有应用程序错误,所以我猜Sentry只是在连接,这让我很惊讶。我以为它只会在捕捉错误时运行。我只有基本的免费帐户,只有“问题”没有“事件” 它似乎坚持了很长时间,以至于30秒的PHP最大执行时间过期了,所以我的API出现
[17-Jan-2020 02:07:40 UTC]PHP致命错误:api/vendor/PHP http/curl client/src/MultiRunner.PHP第87行的最大执行时间超过30秒
我有基本的启动配置:
Sentry\init(['dsn'=>$config['Sentry\u dsn']])代码>
具有讽刺意味的是,我的错误处理偶尔会破坏API!所以我想为自己辩护,即使这很少见
是否可以为Sentry或Curl添加一些配置,例如最多10秒后优雅退出?
我在这里什么都看不到:
或者有没有其他方法让哨兵更“背景”,这样它就不能阻止主代码路径