Git Product home page Git Product logo

Comments (5)

werkt avatar werkt commented on May 27, 2024 1

The worker side of this was implemented in #143, we're waiting on an http implementation I threw together in #144 to use as a grpc endpoint for one or many workers, and #153 will enable this on the server

from bazel-buildfarm.

werkt avatar werkt commented on May 27, 2024

It is not currently possible to separate this right now, but for only the simple reason that we're using the same endpoint for the operation queue, the CAS, and the Action Cache.

Your use case is definitely sound, but I have a thought about providing the support for the different endpoint types in-worker: How about I just make 3 different configurable endpoint addresses for communication over grpc for each of the services, rather than trying to bake in client support for all manner of CAS/AC communication protocols (http, grpc, hazelcast, redis, memcached, mongo, etc).

I can also quite separately (doesn't even have to be in this repo) provide a grpc hosted server that can speak one of these (separate binaries for separate protos) and facilitate proxy/translation for either activity (CAS or AC).

I think it is an effective strategy to combat complexity to say 'the operation queue workers speak grpc and nothing else.'

from bazel-buildfarm.

prestonvanloon avatar prestonvanloon commented on May 27, 2024

Hi @werkt, I'm not sure if that was a comment directed at me.

What I was hoping for was to give a flag to the build farm worker to read/write to some cache backend.
I'm not sure how things work so I don't quite understand the 3 different endpoint configurations or the reason for a proxy.

Thanks!

from bazel-buildfarm.

mpictor avatar mpictor commented on May 27, 2024

I believe @werkt is saying that currently there are 3 different kinds of things, all handled on a single port by a single binary. If they were (or could be) on different ports, it would be far easier for others to add support for alternate implementation(s) of the functionality - whether it is a shim to use Bazel Remote Cache in place of the internal CAS, a custom AC backend, or what have you.

from bazel-buildfarm.

werkt avatar werkt commented on May 27, 2024

We've broken things out at this point, have at it!

from bazel-buildfarm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.