与哨兵一起使用时Laravel队列停滞

时间:2019-04-19 13:09:13

标签: php laravel sentry

我有一个用laravel编写的工作项目,我集成了Sentry来监视错误,我基本上按照他们网站上的说明进行操作

  

作曲家需要岗哨/哨兵拉拉夫

以及在我的App / Exceptions / Handler.php

m = df.Key.isin(Keys2Filter)
df = (df[~m].append(df[m].groupby(by=["Key", df.Date.dt.hour])
                         .max()
                         .reset_index(level=1, drop=True)
                         .reset_index()))

print (df)
    Key                Date  Value
10    3 2019-04-17 01:00:00      9
11    3 2019-04-17 01:00:00      9
0     1 2019-04-17 00:00:00      7
1     1 2019-04-17 01:00:00      5
2     1 2019-04-17 02:00:00      3
3     2 2019-04-17 00:00:00      9
4     2 2019-04-17 01:00:00      9
5     2 2019-04-17 02:00:00      9

现在这可以正常工作,我看到了哨兵中的错误。 但是在应用程序的另一端,无论我在哪里使用队列,例如,我都有“忘记密码”通知,并且它实际上实现了ShouldQueue类:

if (app()->bound('sentry') && $this->shouldReport($exception)) {
    app('sentry')->captureException($exception);
}

当触发按预期方式工作时,我在作业表中有一条新记录(我有数据库作为队列驱动程序)

现在当我开始工作时

  

php artisan队列:工作

它一遍又一遍地拖延了最后一个工作

laravel queue worker

没有发送或接收的邮件...

通过这种方式,只有当我在哨兵中进行报告时,如果我在report()方法中删除了App / Exceptions / Handler.php中的那些行,那一切都很好,如果我从通知中删除队列,它也可以正常工作,哨兵错误报告和通知队列的组合使我成为一个大问题。

1 个答案:

答案 0 :(得分:0)

不幸的是,Sentry-laravel不适用于队列。

请,在其GitHub存储库上查看此问题,以获取有关此问题的更多信息:

https://github.com/getsentry/sentry-laravel/issues/18

还有一个未解决的问题(正在尝试解决):

https://github.com/getsentry/sentry-laravel/pull/228

如果您现在确实需要将这些日志放在队列中,则应该使用https://github.com/twineis/raven-php