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

Fix background functions in functions:shell #3491

Merged
merged 1 commit into from
Jun 15, 2021
Merged

Fix background functions in functions:shell #3491

merged 1 commit into from
Jun 15, 2021

Conversation

samtstern
Copy link
Contributor

Description

Fix #3490

Scenarios Tested

const functions = require("firebase-functions");

exports.helloWorld = functions.https.onRequest((request, response) => {
  functions.logger.info("Hello logs!", {structuredData: true});
  response.send("Hello from Firebase!");
});

exports.helloPubSub = functions.pubsub.schedule('0 * * * *').onRun(() => {
  functions.logger.info("Hello PubSub!", {structuredData: true});
});
$ firebase --project=demo-project-1234
i  functions: Loaded functions: helloWorld, helloPubSub
⚠  functions: The following emulators are not running, calls to these services will affect production: firestore, database, pubsub, storage
firebase > helloWorld()
Sent request to function.
firebase > >  {"structuredData":true,"severity":"INFO","message":"Hello logs!"}

RESPONSE RECEIVED FROM FUNCTION: 200, Hello from Firebase!

firebase > helloPubSub()
'Successfully invoked function.'
firebase > >  {"structuredData":true,"severity":"INFO","message":"Hello PubSub!"}
>  {"severity":"WARNING","message":"Function returned undefined, expected Promise or value"}
firebase > 

Sample Commands

N/A

@google-cla google-cla bot added the cla: yes Manual indication that this has passed CLA. label Jun 15, 2021
const result = this.triggers.find((trigger) => {
return trigger.id === id;
return trigger.name === name;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What will happen if this finds 2 functions? (aka, it's in 2 regions)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess it'll run the first one? That seems sketchy but also not sure how to improve it without making people type out the region.

Copy link
Contributor

@joehan joehan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - I agree with your though that the handling for functions in 2 regions is weird, but I think this is the UX that most peeps would expect.

@joehan
Copy link
Contributor

joehan commented Jun 15, 2021

Merging so that we can get this out today - chatted with Kiana offline and she agreed it was good to go.

@joehan joehan merged commit 68a97fe into master Jun 15, 2021
@joehan joehan deleted the ss-fix-3490 branch June 15, 2021 19:12
inlined added a commit that referenced this pull request Jul 3, 2021
* Unbreak build (#3463)

* Unbreak build

* linter changed its mind

* firestore:delete getConfirmationMessage should include current project (#3457)

The firestore:delete command should notify the user of the current project. This should help users minimize chances of accidental deletions when switching between projects.

* Add asia-southeast1 to RTDB CLI (#3460)

* Fix init database without projectId (#3446)

* Fix init database (#3445)

* Added value check for "feature" parameter in init (#3449)

When the optional feature parameter is provided in a `firebase init
[feature]` command, this checks that its value is a valid choice before
attempting any other initialization.

* Bump trim-newlines from 3.0.0 to 3.0.1 (#3471)

Bumps [trim-newlines](https://github.com/sindresorhus/trim-newlines) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/sindresorhus/trim-newlines/releases)
- [Commits](https://github.com/sindresorhus/trim-newlines/commits)

---
updated-dependencies:
- dependency-name: trim-newlines
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump ws from 7.2.3 to 7.4.6 (#3428)

* add node16 to tests (#3462)

* Import/export download tokens (#3444)

* Fixes Storage Emulator startup errors (#3478)

* Bump normalize-url from 4.5.0 to 4.5.1 (#3476)

Bumps [normalize-url](https://github.com/sindresorhus/normalize-url) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/sindresorhus/normalize-url/releases)
- [Commits](https://github.com/sindresorhus/normalize-url/commits)

---
updated-dependencies:
- dependency-name: normalize-url
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fixes download tokens missing when uploading files via Cloud SDK (#3479)

* Follow up to #3420 (#3437)

* Increase waitForPortClosed timeout to 60s (#3483)

* Added validation logic to allow selectResource param type in extensions.yaml (#3489)

* Fix background functions in functions:shell (#3491)

* 9.13.0

* [firebase-release] Removed change log and reset repo after 9.13.0 release

* Fix ext:update issue where local extension is incorrectly inferred as published extension (#3499)

* Add missing changelog entry for #3499 (#3500)

* Fix init hosting:github (#3503)

* 9.13.1

* [firebase-release] Removed change log and reset repo after 9.13.1 release

* Avoid emulator data loss when there an error during export (#3511)

* Ask before overwriting storage.rules (#3510)

* Update CONTRIBUTING.md (#3513)

added note to run `npm install` before `npm link` the first time

* Release Cloud Firestore Emulator v1.13.0. (#3515)

* Basic create support

This change adds support for `firebase --open-sesame golang`.

After running this command, `firebase init` will support Go 1.13
as a langauge for Cloud Functions.

Limitations:

1. .gitignore is empty
2. Customers cannot mix Node and Go code (WAI)
3. There is little validation being done of customer code
4. The actual deployed function params are hard coded; SDK incoming

* Use vendoring to fetch SDK

* Update sample code

* Simplify unarchive pipe

* TSLint

* PR feedback

* Delete Container Registry images left after Functions deployment (#3439)

* Delete Container Registry images left after Functions deployment

* Simplify caching

* Improve error handling and report next steps to users

* lint fixes

* Fix typo

* Increase max function ID length to 63 (#3521)

* Fix crash when deploying zero functions. (#3520)

Previously most code read the desired backend from
`options.config.get("functions.backend")` which was set to the
empty backend correctly. Code that depended on payload.functions.backend
crashed because payload.functions was null when the backend was
empty.

Since optins.config should be firebase.json data, this change
normalizes on payload.functions.backend and ensures that it
is never null while options.config.get('functions') is present
(i.e. when the customer has functions to deploy).

* Use proper replace and get commands

* Update changelog with my recent pushes (#3522)

* 9.14.0

* [firebase-release] Removed change log and reset repo after 9.14.0 release

* Bump glob-parent from 5.0.0 to 5.1.2 (#3472)

* Added deferred provisioning check for Storage and Authentication during extension install (#3497)

Implemented provisioning check helper which checks whether products use by the extension are fully provisioned.

* Generate JSON Schema for firebase.json (#3505)

* Fetch from newly public GH repo

* PR feedback

* Format

Co-authored-by: davidbrenner <david.a.brenner@gmail.com>
Co-authored-by: Fred Zhang <fredzqm@google.com>
Co-authored-by: Sam Stern <samstern@google.com>
Co-authored-by: Andrew Heard <andrew@wizheard.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bryan Kendall <bkend@google.com>
Co-authored-by: Abe Haskins <abeisgreat@abeisgreat.com>
Co-authored-by: Enrico Graziani <mrenrich84@gmail.com>
Co-authored-by: Pavel Jbanov <pavelgj@gmail.com>
Co-authored-by: Google Open Source Bot <firebase-oss-bot@google.com>
Co-authored-by: huangjeff5 <64040981+huangjeff5@users.noreply.github.com>
Co-authored-by: davidbielik <davidbielik@users.noreply.github.com>
Co-authored-by: Yuchen Shi <yuchenshi@google.com>
devpeerapong pushed a commit to devpeerapong/firebase-tools that referenced this pull request Dec 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes Manual indication that this has passed CLA.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cannot call scheduled function from emulated functions shell
3 participants