AnyCable is fast because it does not execute any Ruby code. But the default subscription implementation shipped with graphql gem requires to do exactly that: re-evaluate GraphQL queries in ActionCable process. AnyCable doesn’t support this (it’s possible but hard to implement).
Differences
- Subscription information is stored in the Redis database configured to be used by AnyCable. Expiration or data cleanup should be configured separately (see below).
- GraphQL queries for all subscriptions are re-executed in the process that triggers the event (it may be a web server, async jobs, rake tasks).
Compatibility
- Should work with ActionCable in the development environment.
- Should work without Rails via LiteCable.