differentialhq / differential Goto Github PK
View Code? Open in Web Editor NEWTypescript-first background services platform with durable functions.
Home Page: https://www.differential.dev
License: Apache License 2.0
Typescript-first background services platform with durable functions.
Home Page: https://www.differential.dev
License: Apache License 2.0
We need a fly deploy step as an action to "break-glass" and proceed with deployments when the pre-deploy tests fail.
See the run here: https://github.com/differentialhq/differential/actions/runs/7762851286/job/21174002166?pr=102
Needs to be investigated whether this is symptomatic of a bigger issue, or a stale-read problem.
In 2024 it's not hard to create a E2E system with Node, TS and some client-side fetch. Elysia and Hono, the newest frameworks, already support this use case. I think your monetization approach by giving the open source project a viral license is flawed, as it will just make people look the integrations you did with background queues and other extra batteries and they will do it by hand on the newer frameworks.
Differential implements a very chatty protocol. This will get to be a problem as and when we scale.
However, implementing websockets and persistent connections has it's own challenges. Whenever you say the connection is persistent, you run into the problem of the server maintaining state of that connection. And that adds extra complexity, because you can't make the same assumptions as you'd have made when the server was stateless.
For example, you can't scale down (easily) without kicking off clients. And you can't scale up (easily) and rebalance as you wish. You can implement/buy a proxy that handles these concerns for you, but that's additional complexity.
Instead, we will stick with the tried and true long polling for most of our chatty workloads with keep-alives and HTTP2 support.
We may visit going fully websockets in the future, but I've a feeling we don't need to.
In certain circumstances, the polling agent might close the connection before getting the request, but after the atomic UPDATE
has marked the job as running. In these cases, we should try to walk back the update by listening to the abort.
Some Fastify references:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.