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.
