Use Cloud Tasks to enqueue the tasks and Cloud Run to process them. -> Correct. Cloud Tasks is a fully managed service that allows you to manage the execution, dispatch, and delivery of a large number of distributed tasks. Using Cloud Run to process the tasks provides the benefits of a serverless environment, where resources can be automatically scaled up or down based on demand.
Use Cloud Functions triggered by Pub/Sub messages for each task. -> Incorrect. Although Cloud Functions triggered by Pub/Sub messages could potentially handle this requirement, it might not be the most efficient choice for large number of time-consuming tasks.
Use BigQuery to store the tasks and Dataflow to process them. -> Incorrect. BigQuery is a fully-managed, serverless data warehouse that enables super-fast SQL queries, and Dataflow is a stream/batch processing service. They are not primarily designed for handling asynchronous tasks.
Use Firestore to store the tasks and App Engine to process them. -> Incorrect. Firestore is a NoSQL database service and App Engine is a platform for building scalable web applications and mobile backends. They could potentially handle this requirement, but are not as efficient and scalable as Cloud Tasks and Cloud Run for this use case.