Search code examples
firebasetwittergoogle-cloud-functionstwitter-streaming-api

How can I have a continuous firebase cloud function for a continuous stream of data?


I need to use the Twitter Stream API to stream tweet data to my firebase cloud function like this:

client.stream('statuses/filter', params,  stream => {

  stream.on('data', tweet => {
    console.log(tweet);
  })

  stream.on('error', error => {
    console.log(error)
  })

})

The stream is continuous but the firebase cloud function shuts down after a certain period of time. What solution could I make use of to be able to continuously receive the stream data?


Solution

  • Cloud Functions have a max running time of 540 seconds as documented. You would have to look at probably using a Compute Engine Instance from Google Cloud where you can have code running without limits. Or you could look at using the Google Cloud Scheduler to run your function every x time to get new tweets.