David Glasser 78b280ef88 Fix PollingObserveDriver error handling
The getRawObjects call can throw (eg, if you can't connect to the mongo
server for too long).  A few pieces of state were being corrupted in
that case:

- self._results was being set too early, leading to 'first' not being
  set on future _pollMongo calls, and_multiplexer.ready() never being
  called. This had two effects:

    - The observe (and thus any subscription) would never become
      ready().  Due to deduping, *no observe on this query* would
      ever become ready either.  This also implies that the
      observeChanges that are part of _publishCursor would never return,
      so the sub.onStop would never get called, so the observeHandle
      would never stop, leading not only to leaks, but for an inability
      for that query to ever stop being deduped with the corrupted
      PollingObserveDriver!

    - The onFlush calls would throw a "not ready" error instead of
      calling the callback, so (a) errors would be logged and (b) write
      fences would never be closed

  Fixed this by not writing to self._results at the top of the function.

- writesForCycle was being lost, so those write fences would never
  close. Fixed this by pushing writesForCycle back onto _pendingWrites
  if getRawObjects throws.
2014-05-16 17:46:05 -07:00
2014-05-12 17:14:40 -07:00
2014-05-12 17:15:42 -07:00
2012-03-21 19:41:06 -07:00
2014-05-15 13:41:37 -07:00
2014-04-29 23:25:43 -07:00

Meteor

Meteor is an ultra-simple environment for building modern web applications.

With Meteor you write apps:

  • in pure Javascript
  • that send data over the wire, rather than HTML
  • using your choice of popular open-source libraries

Documentation is available at http://docs.meteor.com/

Quick Start

Install Meteor:

curl https://install.meteor.com | /bin/sh

Create a project:

meteor create try-meteor

Run it:

cd try-meteor
meteor

Deploy it to the world, for free:

meteor deploy try-meteor.meteor.com

Slow Start (for developers)

If you want to run on the bleeding edge, or help develop Meteor, you can run Meteor directly from a git checkout.

git clone git://github.com/meteor/meteor.git
cd meteor

If you're the sort of person who likes to build everything from scratch, you can build all the Meteor dependencies (node.js, npm, mongodb, etc) with the provided script. This requires git, a C and C++ compiler, autotools, and scons. If you do not run this script, Meteor will automatically download pre-compiled binaries when you first run it.

# OPTIONAL
./scripts/generate-dev-bundle.sh

Now you can run meteor directly from the checkout (if you did not build the dependency bundle above, this will take a few moments to download a pre-build version).

./meteor --help

From your checkout, you can read the docs locally. The /docs directory is a meteor application, so simply change into the /docs directory and launch the app:

cd docs/
../meteor

You'll then be able to read the docs locally in your browser at http://localhost:3000/

Note that if you run Meteor from a git checkout, you cannot pin apps to specific Meteor releases or run using different Meteor releases using --release.

Uninstalling Meteor

Aside from a short launcher shell script, Meteor installs itself inside your home directory. To uninstall Meteor, run:

rm -rf ~/.meteor/
sudo rm /usr/local/bin/meteor

Developer Resources

Building an application with Meteor?

Interested in contributing to Meteor?

Description
No description provided
Readme MIT 202 MiB
Languages
JavaScript 91.1%
TypeScript 3.9%
Shell 0.9%
Java 0.7%
Swift 0.7%
Other 2.5%