Record failures, match more of the sidekiq api, switch to poision for json

add timeouts to job recording