{"push_id":934905171,"size":1,"distinct_size":1,"ref":"refs/heads/respawn-workers","head":"ff88d3f2fe76b6198b7436b10a5e29b4ca3fd2f4","before":"6f80830b84046363577f49a76bf4de927d2426c7","commits":[{"sha":"ff88d3f2fe76b6198b7436b10a5e29b4ca3fd2f4","author":{"email":"f2ad1e56070cf92f0fcca4e24f47190575eb345b@kyrylo.org","name":"Kyrylo Silin"},"message":"notifier: respawn workers if they're all dead\n\nPotentially fixes https://github.com/airbrake/airbrake/issues/463\n(falling back to sync delivery because there are no running async\nworkers)\n\nI noticed I can reliably reproduce this message when I invoke the Rails\nconsole and manually send a notice via `Airbrake.notify`. It happens\nbecause by default Rails launches [Spring][1], which preloads the app\nby using the `fork()` system call. And when that happens, as we know,\nour worker threads die.\n\nThe fix is simply to respawn workers. It works reliably with the Rails\nconsole and I assume it will fix the above mentioned issue.\n\n[1]: https://github.com/rails/spring/","distinct":true,"url":"https://api.github.com/repos/airbrake/airbrake-ruby/commits/ff88d3f2fe76b6198b7436b10a5e29b4ca3fd2f4"}]}