Documentation ¶
Index ¶
- Variables
- type Client
- func (c *Client) Ack(jid string) error
- func (c *Client) Beat() (string, error)
- func (c *Client) Close() error
- func (c *Client) Fail(jid string, err error, backtrace []byte) error
- func (c *Client) Fetch(q ...string) (*Job, error)
- func (c *Client) Flush() error
- func (c *Client) Generic(cmdline string) (string, error)
- func (c *Client) Info() (map[string]interface{}, error)
- func (c *Client) Push(job *Job) error
- type ClientData
- type Failure
- type Job
- type ProtocolError
- type Server
Constants ¶
This section is empty.
Variables ¶
View Source
var ( Name = "Faktory" License = "GPLv3" Licensing = "Licensed under the GNU Public License 3.0" Version = "0.5.0" )
View Source
var (
RandomProcessWid = strconv.FormatInt(rand.Int63(), 32)
)
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { Location string Options *ClientData // contains filtered or unexported fields }
func Dial ¶
* Open a connection to the remote faktory server. * * faktory.Dial(faktory.Localhost, "topsecret") *
func Open ¶
* This function connects to a Faktory server based on the * environment variable conventions: * * - Use FAKTORY_PROVIDER to point to a custom URL variable. * - Use FAKTORY_URL as a catch-all default.
type ClientData ¶
type ClientData struct { Hostname string `json:"hostname"` Wid string `json:"wid"` Pid int `json:"pid"` Labels []string `json:"labels"` // Salt should be a random string and // must change on every call. Salt string `json:"salt"` // Hash is hex(sha256(password + salt)) PasswordHash string `json:"pwdhash"` }
* This data is serialized to JSON and sent * with the AHOY command. PasswordHash is required * if the server is not listening on localhost. * The WID (worker id) must be random and unique * for each worker process. It can be a UUID, etc. * * The other elements can be useful for debugging * and are displayed on the Busy tab.
type Job ¶
type Job struct { // required Jid string `json:"jid"` Queue string `json:"queue"` Type string `json:"jobtype"` Args []interface{} `json:"args"` // optional CreatedAt string `json:"created_at,omitempty"` EnqueuedAt string `json:"enqueued_at,omitempty"` At string `json:"at,omitempty"` ReserveFor int `json:"reserve_for,omitempty"` Retry int `json:"retry,omitempty"` Backtrace int `json:"backtrace,omitempty"` Failure *Failure `json:"failure,omitempty"` Custom map[string]interface{} `json:"custom,omitempty"` }
type ProtocolError ¶
type ProtocolError struct {
// contains filtered or unexported fields
}
func (*ProtocolError) Error ¶
func (pe *ProtocolError) Error() string
Directories ¶
Path | Synopsis |
---|---|
Dispatch operations: - Basic dequeue - Connection sends POP q1, q2 - Job moved from Queue into Working - Scheduled - Job Pushed into Queue - Job moved from Queue into Working - Failure - Job Pushed into Retries - Push - Job Pushed into Queue - Ack - Job removed from Working How are jobs passed to waiting workers? Socket sends "POP q1, q2, q3" Connection pops each queue: store.GetQueue("q1").Pop() and returns if it gets any non-nil data.
|
Dispatch operations: - Basic dequeue - Connection sends POP q1, q2 - Job moved from Queue into Working - Scheduled - Job Pushed into Queue - Job moved from Queue into Working - Failure - Job Pushed into Retries - Push - Job Pushed into Queue - Ack - Job removed from Working How are jobs passed to waiting workers? Socket sends "POP q1, q2, q3" Connection pops each queue: store.GetQueue("q1").Pop() and returns if it gets any non-nil data. |
Click to show internal directories.
Click to hide internal directories.