KO
|
EN
gitlite — search
Search
#javascript
#python
#ruby
#dotfiles
#c-plus-plus
#shell
#php
#java
#library
#bash
#hacktoberfest
#inactive
faktory_worker_ex
★ 66
Open GitHub ↗
Elixir worker for Faktory
Download README (.md)
Explore Similar Repositories
Graylog-OPNsense_Extractors
:
JSON Extractors for Graylog to parse OPNsense firewall logs
deep-text-classification-pytorch
:
Deep neural network text classification papers in PyTorch
wxapp_decoration
:
装修小程序预约,选装修人员定位等
NTC_Thermistor
:
[For Arduino and STM32] Library for working with a NTC thermistor.
CAFE_fig
:
A tool to extract and visualize the results of CAFE (Computational Analysis of gene Family Evolution)
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
faktory_worker_ex
?
Download (.md)
# Faktory Worker Ex Elixir worker for Faktory ([blog](http://www.mikeperham.com/2017/10/24/introducing-faktory/)) ([github](https://github.com/contribsys/faktory)). ## Installation The package can be installed by adding `faktory_worker_ex` to your list of dependencies in `mix.exs`: ```elixir def deps do [ {:faktory_worker_ex, "~> 0.0"} ] end ``` ## Quickstart ```elixir # For enqueuing jobs defmodule MyFaktoryClient do use Faktory.Client, otp_app: :my_cool_app end # For processing jobs defmodule MyFaktoryWorker do use Faktory.Worker, otp_app: :my_cool_app end # You must add them to your app's supervision tree defmodule MyCoolApp.Application do use Application def start(_type, _args) do children = [MyFaktoryClient, MyFaktoryWorker] Supervisor.start_link(children, strategy: :one_for_one) end end defmodule MyGreeterJob do use Faktory.Job def perform(greeting, name) do IO.puts("#{greeting}, #{name}!!") end end # List argument must match the arity of MyGreeterJob.perform MyGreeterJob.perform_async(["Hello", "Genevieve"]) ``` ## Starting the worker `mix faktory` You should see logging output and the above job being processed. `mix faktory -h` To see command line options that can override in-app configuration. `iex -S mix faktory` If you want to debug your jobs using `IEx.pry`. ## Configuration Compile-time config is done with `Mix.Config`. Run-time config is done with environment variables and/or an `init/1` callback. See documentation on: * [Client](https://hexdocs.pm/faktory_worker_ex/Faktory.Client.html) * [Worker](https://hexdocs.pm/faktory_worker_ex/Faktory.Worker.html) ## Running a Faktory server To run this readme's example, you need to run a Faktory server. Easiest way is with Docker: ``` docker run --rm -p 7419:7419 -p 7420:7420 contribsys/faktory:latest -b :7419 -w :7420 ``` You should be able to go to [http://localhost:7420](http://localhost:7420) and see the web ui. ## Features * Middleware * Connection pooling (for clients) * Support for multiple Faktory servers * Faktory server authentication and TLS support * Comprehensive documentation * Comprehensive supervision tree * Decent integration tests ## Missing features * Responding to `quiet` and `terminate` * Running without `mix` (e.g. a Distillery release) ## Issues / Questions [https://github.com/cjbottaro/faktory_worker_ex/issues](https://github.com/cjbottaro/faktory_worker_ex/issues)