Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

onTaskDispatched with retry option is not working in firebase-functions v6 #1623

Open
daniseijo opened this issue Oct 2, 2024 · 2 comments

Comments

@daniseijo
Copy link

daniseijo commented Oct 2, 2024

Related issues

#1618 - Tried the solution proposed there but it did nothing

[REQUIRED] Version info

node:

v20.12.2

firebase-functions:

6.0.1

firebase-tools:

13.20.2

firebase-admin:

12.6.0

[REQUIRED] Test case

I am following this example from the docs to create a cloud task. The only thing I am changing in my project is adding an option to avoid retries. If I add this in firebase-functions v6, and launch the emulator or try to deploy, it breaks.

[REQUIRED] Steps to reproduce

  • Create a new project from scratch with firebase init. In my case, I added typescript but I think it is irrelevant.
  • Update firebase-functions in the package.json to v6.0.1
  • Add a new onTaskDispatched function to the index.ts file and add the retry option:
import { onTaskDispatched } from 'firebase-functions/v2/tasks';

export const cloudTaskTest = onTaskDispatched({ retry: false }, (task) => {
  logger.info('Task dispatched', { task });
  return Promise.resolve();
});
  • Run npm run serve or npm run deploy either way an error will show:
⬢  functions: Failed to load function definition from source: FirebaseError: Failed to parse build specification

[REQUIRED] Expected behavior

The expected behavior should be for the emulator to create the queue. This behavior is achieved in version 5.1.0 for example:

✔  tasks: Created queue with key: queue:sample-project-us-central1-cloudTaskTest
✔  functions[us-central1-cloudTaskTest]: http function initialized (http://127.0.0.1:5001/sample-project/us-central1/cloudTaskTest).

[REQUIRED] Actual behavior

From version 6.0.1, the emulator returns the error copied above:

⬢  functions: Failed to load function definition from source: FirebaseError: Failed to parse build specification

And if I try to deploy it returns:

Error: Failed to parse build specification:
- FirebaseError Unexpected key 'endpoints[cloudTaskTest].taskQueueTrigger.retry'. You may need to install a newer version of the Firebase CLI.

Were you able to successfully deploy your functions?

No, I was not able. The error message was:

Error: Failed to parse build specification:
- FirebaseError Unexpected key 'endpoints[cloudTaskTest].taskQueueTrigger.retry'. You may need to install a newer version of the Firebase CLI.
@google-oss-bot
Copy link
Collaborator

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

@minhdanh
Copy link

I'm having this issue too. My firebase-tools version: 13.22.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants