OpenSSL::SSL::SSLErrorWaitReadable read would block - ruby

Currently seeing this error from our background workers on Heroku when posting text/plain queries to the Intuit v3 API. https://quickbooks.api.intuit.com/v3/company/123456789/query/
Ruby 2.1.2 and Rails 4.0.10
OAuth 0.4.5 https://github.com/oauth-xx/oauth-ruby
There is an error_message "Intuit's API timed out. They may be over capacity. Please try again later". I'm not sure if this is just an intermittent error that we should ignore, or if it's an issue on the Intuit side or with Ruby/OpenSSL on Heroku?
This error isn't happening a lot, but we have one customer who reports being unable to sync for a week.

Heroku timeouts are 30s. Intuit's api may be taking longer possibly. I suggest you try from a local machine or try to test from AWS if you are familiar or another cloud provider. Another thing you could do is test running the api on the command line from heroku console.

Related

How do I use dash dcc.Upload and dcc.Store on Heroku?

I have recently published a webapp to Heroku built using the Plotly Dash libary. The webapp is dependent on uploading files using Dash Core Components (dcc) dcc.Upload and then saving the files using dcc.Store. This works perfectly on the localhost, however, when trying to upload files to the live version hosted by Heroku, the app.callback depending on the uploaded files won't fire.
Is there any issues with using dcc.Upload or dcc.Storeon Heroku? I haven't found any related issues on forums. The files are not large (< 1 MB), and as I said, it all works on the localhost.
Since it's not on my localhost I'm having problems with troubleshooting. Is there any easy way to troubleshoot a live webapp on Heroku?
It is possible that the user through which your app is running do not have write permissions to the directory in which you are saving the file after upload.
Try checking the permissions on the directory. If still not working, please share the errors you are getting. That would be easier to share solutions.
After some digging I found that the abrupt shortcoming of the callbacks were due to a timeout error with the code H12 from Heroku. H12 states that any call without a response wilthin 30 seconds is terminated. The solution was therefore to reduce the callbacks into smaller components so that no function exceeded the 30 second limit.

"Restart denied, cycling is disabled" Heroku error when trying to restart dyno in Heroku pipeline

Has anyone come across this before? The error message doesn't provide much useful information and Googling the error messsage returns no results. My app is part of a Pipeline, I think that might have something to do with it.
Based on the time of this post, heroku is having issues with recycling dynos.
Happening again today - heroku seems to be down (4th of Feb, 2020).
For more info: https://status.heroku.com/

New to Ruby on Rails, Local Host 3000 responding unpredictably

I had run into a few problems getting Ruby fully installed and working, so I could start building. I finished installing and tested my server at localhost:3000, and it came up fine. Then the next day when I tried to go back to it, it didn't connect and I could not figure out why.
First of all, there's no specific way for us to address this issue. You haven't mentioned any of what happened between the server working and malfunctioning? It could be as simple as the server not being started. Is the server currently running? If it is than you should have some sort of response when you try to hit localhost.3000.
Make sure your server is running with rails s and then let us know.
Perhaps you can try resetting your DB with a rake db:reset if that doesn't work.
Besides that, there really isn't anything we can do on this end without more information.

Bluemix logging issue to papertrail

Any idea why syslog:// protocol from bluemix app is not connecting to PaperTrail third party logging service?
Here is my process:
create user provided service
bind this service
restage
then on the papertrail nothing happens:
You can try it out. The testing app URL is:
http://658.eu-gb.mybluemix.net
Its just Hello world simple nodejs app.
Most likely the configuration is correct but you are not able to see anything on Papertrail because of a problem with Loggregator component; you should setup an application that iteratively writes on the log to see very few lines arriving.
In order to clear up the status, this is a general problem between Loggregator and logdrain systems (and Papertrail is one of those) and a fix has been testing and will be applied in the next versions of CloudFoundry.

Errors Notifier for a Ruby command line app

I have a command line application and I would like to have a way to be notified if an error occurs via e-mail. It is a ruby command line app, it runs via a schedule cron job.
Anything that is fairly simple to setup would be greatly appreciated.
There are a couple of services that you can use to catch Ruby errors and exceptions. Most of them provide some kind of free package and all of them relay errors via email.
Sentry - free plan for 250 events per day with 7 day history. Email notifications. All you have to do is install raven-ruby gem and set SENTRY_DSN environment variable provided by Sentry.
Honeybadger - micro plan for $19/month for 3 apps with 7 day history. You install honeybadger gem and environment variable HONEYBADGER_API_KEY and you are ready to go. They also send notifications via email.
Raygun - They provide free trail without credit card, emails are also part of their service. You need raygun4ruby gem, instructions to use it with Rails can be found here.
Other option could be that you log your exceptions into log and then you create another cron job that sends you that daily report?
I'm adding this here in the hope that the next person that wants to add honeybadger to their app doesn't struggle with the same problem I did. If you're running honeybadger outside of a rails app, you need to start the service explicity.
ENV['HONEYBADGER_API_KEY'] = 'abc123'
Honeybadger.start
# Your code here...
Honeybadger.stop
If you don't start the honeybadger service, you won't be able to send notifications. I couldn't find anywhere that mentioned this important fact.

Resources