{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:golang/github.com/prep/beanstalk","name":"github.com/prep/beanstalk","description":"Package beanstalk provides a beanstalk client.\n\nThe Producer is used to put jobs into tubes. It provides a connection pool:\n\nPutting a job in a tube is done by calling Put, which will select a random connection for its operation:\n\nIf a Put operation fails on a connection, another connection in the pool will be selected for a retry.\n\nThe Consumer is used to reserve jobs from tubes. It provides a connection pool:\n\nThe ratio of Multiply and NumGoroutines is important. Multiply determines the size of the connection pool and NumGoroutines determines how many reserved jobs you have in-flight. If you have a limited number of connections, but a high number of reserved jobs in-flight, your TCP connection pool might experience congestion and your processing speed will suffer. Although the ratio depends on the speed by which jobs are processed, a good rule of thumb is 1:10.\n\nReserve jobs from the tubes specified in NewConsumer is done by calling Receive, which will reserve jobs on any of the connections in the pool:\n\nIf the context passed to Receive is cancelled, Receive will finish processing the jobs it has reserved before returning.\n\nWhen Receive offers a job the goroutine is responsible for processing that job and finishing it up. A job can either be deleted, released or buried:\n\nIf the Producer and Consumer abstractions are too high, then Conn provides the lower level abstraction of a single connection to a beanstalk server:\n\nThe Config structure offers hooks for info and error logs that allows hooking in to a custom log solution.\n\nNewProducer, NewConsumer and Dial take a URI or a list of URIs as their first argument, who can be described in various formats. In the above examples the beanstalk server was referenced by the host:port notation. This package also supports URI formats like beanstalk:// for a plaintext connection, and beanstalks:// or tls:// for encrypted connections.\n\nIn the case of encrypted connections, if no port has been specified it will default to port 11400 as opposed to the default 11300 port.","version":"v1.4.7","softwareVersion":"v1.4.7","license":"https://spdx.org/licenses/BSD-3-Clause","codeRepository":"https://github.com/prep/beanstalk","issueTracker":"https://github.com/prep/beanstalk/issues","url":"https://github.com/prep/beanstalk","programmingLanguage":{"@type":"ComputerLanguage","name":"Go"},"dateCreated":"2018-03-20","dateModified":"2022-11-01","datePublished":"2022-11-01","copyrightYear":2018,"downloadUrl":"https://proxy.golang.org/cached-only/github.com/prep/beanstalk/@v/v1.4.7.zip","softwareHelp":{"@type":"WebSite","url":"https://pkg.go.dev/github.com/prep/beanstalk#section-documentation"},"applicationCategory":"go","runtimePlatform":"go","developmentStatus":"active","sameAs":["https://pkg.go.dev/github.com/prep/beanstalk"],"https://www.w3.org/ns/activitystreams#likes":24,"https://forgefed.org/ns#forks":13}