samyun / southwest-price-drop-bot

Bot that watches Southwest flights for price drops.
Other
74 stars 41 forks source link

npm run task:check -- Process exited with status 143 #7

Closed rusd1123 closed 6 years ago

rusd1123 commented 6 years ago

When the order of my buildpacks is Node.js then Puppeteer, I receive the following error:

Apr 28 19:22:09 appname app/api: Starting process with command `npm run task:check` by user scheduler@addons.heroku.com 
Apr 28 19:22:21 appname heroku/scheduler.6190: Starting process with command `npm run task:check` 
Apr 28 19:22:23 appname heroku/scheduler.6190: State changed from starting to up 
Apr 28 19:22:24 appname app/scheduler.6190: > southwest-price-drop-bot@3.0.0 task:check /app 
Apr 28 19:22:24 appname app/scheduler.6190: > node --trace-warnings tasks/check.js 
Apr 28 19:22:25 appname app/scheduler.6190: checking 6 flights 
Apr 28 19:22:25 appname app/scheduler.6190: (node:20) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome! 
Apr 28 19:22:25 appname app/scheduler.6190: /app/node_modules/puppeteer/.local-chromium/linux-549031/chrome-linux/chrome: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory 
Apr 28 19:22:25 appname app/scheduler.6190: TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md 
Apr 28 19:22:25 appname app/scheduler.6190:     at onClose (/app/node_modules/puppeteer/lib/Launcher.js:255:14) 
Apr 28 19:22:25 appname app/scheduler.6190:     at Interface.helper.addEventListener (/app/node_modules/puppeteer/lib/Launcher.js:244:50) 
Apr 28 19:22:25 appname app/scheduler.6190:     at emitNone (events.js:111:20) 
Apr 28 19:22:25 appname app/scheduler.6190:     at Interface.emit (events.js:208:7) 
Apr 28 19:22:25 appname app/scheduler.6190:     at Interface.close (readline.js:370:8) 
Apr 28 19:22:25 appname app/scheduler.6190:     at Socket.onend (readline.js:149:10) 
Apr 28 19:22:25 appname app/scheduler.6190:     at emitNone (events.js:111:20) 
Apr 28 19:22:25 appname app/scheduler.6190:     at Socket.emit (events.js:208:7) 
Apr 28 19:22:25 appname app/scheduler.6190:     at endReadableNT (_stream_readable.js:1064:12) 
Apr 28 19:22:25 appname app/scheduler.6190:     at _combinedTickCallback (internal/process/next_tick.js:138:11) 
Apr 28 19:22:25 appname app/scheduler.6190:     at process._tickCallback (internal/process/next_tick.js:180:9) 
Apr 28 19:22:25 appname app/scheduler.6190:     at emitWarning (internal/process/promises.js:65:17) 
Apr 28 19:22:25 appname app/scheduler.6190:     at emitPendingUnhandledRejections (internal/process/promises.js:109:11) 
Apr 28 19:22:25 appname app/scheduler.6190:     at process._tickCallback (internal/process/next_tick.js:189:7) 
Apr 28 19:22:25 appname app/scheduler.6190: (node:20) Error: Failed to launch chrome! 
Apr 28 19:22:25 appname app/scheduler.6190: /app/node_modules/puppeteer/.local-chromium/linux-549031/chrome-linux/chrome: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory

If I change the order of the buildpacks to Puppeteer then Node.js, I receive the following error:

Apr 28 21:49:28 appname heroku/scheduler.9651:  Starting process with command `npm run task:check` 
Apr 28 21:49:28 appname heroku/scheduler.9651:  State changed from starting to up 
Apr 28 21:49:30 appname app/scheduler.9651:  > southwest-price-drop-bot@3.0.0 task:check /app 
Apr 28 21:49:30 appname app/scheduler.9651:  > node --trace-warnings tasks/check.js 
Apr 28 21:49:31 appname app/scheduler.9651:  checking 6 flights 
Apr 28 22:00:36 appname heroku/scheduler.9651: Cycling 
Apr 28 22:00:36 appname heroku/scheduler.9651: State changed from up to complete 
Apr 28 22:00:37 appname heroku/scheduler.9651: Stopping all processes with SIGTERM 
Apr 28 22:00:37 appname heroku/scheduler.9651: Process exited with status 143 

I am noticing that the task doesn't run every 10 minutes even though it is scheduled, more like every 20 minutes. I believe it is because it is taking longer than 10 minutes to "complete" the task, but not sure of the cause.

rusd1123 commented 6 years ago

Also receiving this error on the latest scheduled task:

Apr 28 22:29:44 appname heroku/scheduler.5010: Starting process with command `npm run task:check` 
Apr 28 22:29:44 appname heroku/scheduler.5010: State changed from starting to up 
Apr 28 22:29:47 appname app/scheduler.5010: > southwest-price-drop-bot@3.0.0 task:check /app 
Apr 28 22:29:47 appname app/scheduler.5010: > node --trace-warnings tasks/check.js 
Apr 28 22:29:48 appname app/scheduler.5010: checking 6 flights 
Apr 28 22:29:52 appname app/scheduler.5010: (node:20) UnhandledPromiseRejectionWarning: Error: Page crashed! 
Apr 28 22:29:52 appname app/scheduler.5010:     at Page._onTargetCrashed (/app/node_modules/puppeteer/lib/Page.js:118:24) 
Apr 28 22:29:52 appname app/scheduler.5010:     at CDPSession.Page.client.on.event (/app/node_modules/puppeteer/lib/Page.js:104:56) 
Apr 28 22:29:52 appname app/scheduler.5010:     at emitOne (events.js:116:13) 
Apr 28 22:29:52 appname app/scheduler.5010:     at CDPSession.emit (events.js:211:7) 
Apr 28 22:29:52 appname app/scheduler.5010:     at CDPSession._onMessage (/app/node_modules/puppeteer/lib/Connection.js:219:12) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Connection._onMessage (/app/node_modules/puppeteer/lib/Connection.js:119:19) 
Apr 28 22:29:52 appname app/scheduler.5010:     at emitOne (events.js:116:13) 
Apr 28 22:29:52 appname app/scheduler.5010:     at WebSocket.emit (events.js:211:7) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Receiver._receiver.onmessage (/app/node_modules/ws/lib/WebSocket.js:141:47) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Receiver.dataMessage (/app/node_modules/ws/lib/Receiver.js:389:14) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Receiver.getData (/app/node_modules/ws/lib/Receiver.js:330:12) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Receiver.startLoop (/app/node_modules/ws/lib/Receiver.js:165:16) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Receiver.add (/app/node_modules/ws/lib/Receiver.js:139:10) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Socket._ultron.on (/app/node_modules/ws/lib/WebSocket.js:138:22) 
Apr 28 22:29:52 appname app/scheduler.5010:     at emitOne (events.js:116:13) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Socket.emit (events.js:211:7) 
Apr 28 22:29:52 appname app/scheduler.5010:     at emitWarning (internal/process/promises.js:65:17) 
Apr 28 22:29:52 appname app/scheduler.5010:     at emitPendingUnhandledRejections (internal/process/promises.js:109:11) 
Apr 28 22:29:52 appname app/scheduler.5010:     at runMicrotasksCallback (internal/process/next_tick.js:124:9) 
Apr 28 22:29:52 appname app/scheduler.5010:     at _combinedTickCallback (internal/process/next_tick.js:131:7) 
Apr 28 22:29:52 appname app/scheduler.5010:     at process._tickCallback (internal/process/next_tick.js:180:9) 
Apr 28 22:29:52 appname app/scheduler.5010: (node:20) Error: Page crashed! 
Apr 28 22:29:52 appname app/scheduler.5010:     at Page._onTargetCrashed (/app/node_modules/puppeteer/lib/Page.js:118:24) 
Apr 28 22:29:52 appname app/scheduler.5010:     at CDPSession.Page.client.on.event (/app/node_modules/puppeteer/lib/Page.js:104:56) 
Apr 28 22:29:52 appname app/scheduler.5010:     at emitOne (events.js:116:13) 
Apr 28 22:29:52 appname app/scheduler.5010:     at CDPSession.emit (events.js:211:7) 
Apr 28 22:29:52 appname app/scheduler.5010:     at CDPSession._onMessage (/app/node_modules/puppeteer/lib/Connection.js:219:12) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Connection._onMessage (/app/node_modules/puppeteer/lib/Connection.js:119:19) 
Apr 28 22:29:52 appname app/scheduler.5010:     at emitOne (events.js:116:13) 
Apr 28 22:29:52 appname app/scheduler.5010:     at WebSocket.emit (events.js:211:7) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Receiver._receiver.onmessage (/app/node_modules/ws/lib/WebSocket.js:141:47) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Receiver.dataMessage (/app/node_modules/ws/lib/Receiver.js:389:14) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Receiver.getData (/app/node_modules/ws/lib/Receiver.js:330:12) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Receiver.startLoop (/app/node_modules/ws/lib/Receiver.js:165:16) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Receiver.add (/app/node_modules/ws/lib/Receiver.js:139:10) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Socket._ultron.on (/app/node_modules/ws/lib/WebSocket.js:138:22) 
Apr 28 22:29:52 appname app/scheduler.5010:     at emitOne (events.js:116:13) 
Apr 28 22:29:52 appname app/scheduler.5010:     at Socket.emit (events.js:211:7) 
Apr 28 22:29:52 appname app/scheduler.5010: (node:20) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. 
Apr 28 22:29:52 appname app/scheduler.5010:     at emitWarning (internal/process/promises.js:92:15) 
Apr 28 22:29:52 appname app/scheduler.5010:     at emitPendingUnhandledRejections (internal/process/promises.js:109:11) 
Apr 28 22:29:52 appname app/scheduler.5010:     at runMicrotasksCallback (internal/process/next_tick.js:124:9) 
Apr 28 22:29:52 appname app/scheduler.5010:     at _combinedTickCallback (internal/process/next_tick.js:131:7) 
Apr 28 22:29:52 appname app/scheduler.5010:     at process._tickCallback (internal/process/next_tick.js:180:9) 
Apr 28 22:30:19 appname app/scheduler.5010: (node:20) UnhandledPromiseRejectionWarning: Error: Navigation Timeout Exceeded: 30000ms exceeded 
Apr 28 22:30:19 appname app/scheduler.5010:     at Promise.then (/app/node_modules/puppeteer/lib/NavigatorWatcher.js:73:21) 
Apr 28 22:30:19 appname app/scheduler.5010:     at <anonymous> 
Apr 28 22:30:19 appname app/scheduler.5010:     at emitWarning (internal/process/promises.js:65:17) 
Apr 28 22:30:19 appname app/scheduler.5010:     at emitPendingUnhandledRejections (internal/process/promises.js:109:11) 
Apr 28 22:30:19 appname app/scheduler.5010:     at runMicrotasksCallback (internal/process/next_tick.js:124:9) 
Apr 28 22:30:19 appname app/scheduler.5010:     at _combinedTickCallback (internal/process/next_tick.js:131:7) 
Apr 28 22:30:19 appname app/scheduler.5010:     at process._tickCallback (internal/process/next_tick.js:180:9) 
Apr 28 22:30:19 appname app/scheduler.5010: (node:20) Error: Navigation Timeout Exceeded: 30000ms exceeded 
Apr 28 22:30:19 appname app/scheduler.5010:     at Promise.then (/app/node_modules/puppeteer/lib/NavigatorWatcher.js:73:21) 
Apr 28 22:30:19 appname app/scheduler.5010:     at <anonymous> 
samyun commented 6 years ago

Try re-deploying. I have nodejs then puppeteer.

rusd1123 commented 6 years ago

That seems to have fixed the issue. I also went to each flight and selected edit then save before the prices started showing up. Not sure if it was required after redeploying with the adjusted buildpack order or a coincidence in timing.

Thank you for your help, @samyun