Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:19
jobs
jobs.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File jobs.spec of Package jobs
%define bname jobs Name: %bname Version: 0.10.0 Release: 3 Summary: Job scheduler for load regulation of Erlang applications License: Apache-2.0 Group: Development/Tools/Other URL: https://github.com/uwiger/%bname Source: %bname-%version.tar.xz Patch0: %bname-%version-git.patch Patch1: %bname-0.9.0-stacktrace.patch Provides: erlang-%bname = %version-%release BuildArch: noarch BuildRequires: rpm-macros-erlang rpm-build-erlang BuildRequires: rebar >= 2.6.4-26 BuildRequires: erlang-parse_trans >= 3.3.0 # check BuildRequires: epmd %description Jobs is a job scheduler for load regulation of Erlang applications. It provides a queueing framework where each queue can be configured for throughput rate, credit pool and feedback compensation. Queues can be added and modified at runtime, and customizable "samplers" propagate load status across all nodes in the system. Specifically, jobs provides three features: - Job scheduling: A job is scheduled according to certain constraints. For instance, you may want to define that no more than 9 jobs of a certain type can execute simultaneously and the maximal rate at which you can start such jobs are 300 per second. - Job queueing: When load is higher than the scheduling limits additional jobs are queued by the system to be run later when load clears. Certain rules govern queues: are they dequeued in FIFO or LIFO order? How many jobs can the queue take before it is full? Is there a deadline after which jobs should be rejected. When we hit the queue limits we reject the job. This provides a feedback mechanism on the client of the queue so you can take action. - Sampling and dampening: Periodic samples of the Erlang VM can provide information about the health of the system in general. If we have high CPU load or high memory usage, we apply dampening to the scheduling rules: we may lower the concurrency count or the rate at which we execute jobs. When the health problem clears, we remove the dampener and run at full speed again. %package devel Summary: Headers of %bname Group: Development/Tools/Other Provides: erlang-%bname-devel = %version-%release %description devel Jobs is a job scheduler for load regulation of Erlang applications. It provides a queueing framework where each queue can be configured for throughput rate, credit pool and feedback compensation. Queues can be added and modified at runtime, and customizable "samplers" propagate load status across all nodes in the system. This package contains headers of %bname. %package doc Summary: Documentation of %bname Group: Documentation/HTML Provides: erlang-%bname-doc = %version-%release %description doc Jobs is a job scheduler for load regulation of Erlang applications. It provides a queueing framework where each queue can be configured for throughput rate, credit pool and feedback compensation. Queues can be added and modified at runtime, and customizable "samplers" propagate load status across all nodes in the system. This package contains documentation of %bname. %prep %setup -q -n %bname-%version %patch0 -p1 %patch1 -p1 erl -noshell -eval ' {ok, [{application, %bname, L}]} = file:consult("src/%bname.app.src"), file:write_file("src/%bname.app.src", io_lib:format("{application, %bname, ~81p}.~n", [lists:keystore(vsn, 1, lists:keydelete(maintainers, 1, L), {vsn, "%version"})]), [raw]), init:stop().' %build erl -noshell -eval ' {ok, L} = file:consult("rebar.config"), file:write_file("%bname.rebar.config", lists:map(fun(E) -> [io_lib:print(E), ".\n"] end, lists:keystore(edoc_opts, 1, lists:keydelete(deps, 1, L), {edoc_opts, case lists:keyfind(edoc_opts, 1, L) of {_, [_|_] = O} -> lists:foldl(fun(E, A) -> lists:keystore(E, 1, A, {E, true}) end, O, [new, preprocess]); _ -> [{new, true}, {preprocess, true}] end})), [raw]), init:stop().' ERL_COMPILER_OPTIONS="[inline,verbose]" rebar %{?_smp_mflags} -C %bname.rebar.config compile -v rebar %{?_smp_mflags} -C %bname.rebar.config doc -v %install install -d -m 0755 %buildroot%_otplibdir/%bname-%version/ebin install -p -m 0644 ebin/* %buildroot%_otplibdir/%bname-%version/ebin/ install -d -m 0755 %buildroot%_otplibdir/%bname-%version/include install -p -m 0644 include/* %buildroot%_otplibdir/%bname-%version/include/ install -d -m 0755 %buildroot%_otplibdir/%bname-%version/doc install -p -m 0644 doc/*.{css,html,png} %buildroot%_otplibdir/%bname-%version/doc/ install -d -m 0755 %buildroot%_docdir/%name ln -sf %_otplibdir/%bname-%version/doc %buildroot%_docdir/%name/html install -p -m 0644 README* doc/%{bname}*.md %buildroot%_docdir/%name/ %check ERL_COMPILER_OPTIONS="[inline,verbose]" rebar -C %bname.rebar.config eunit -v %files %defattr(-,root,root) %_otplibdir/* %exclude %_otplibdir/%bname-*/include %exclude %_otplibdir/%bname-*/doc %files devel %defattr(-,root,root) %dir %_otplibdir/%bname-* %_otplibdir/%bname-*/include %files doc %defattr(-,root,root) %doc %_docdir/%name %doc %dir %_otplibdir/%bname-* %doc %_otplibdir/%bname-*/doc %changelog * Sat Dec 02 2023 Led <ledest@gmail.com> 0.10.0-3 - clean jobs.app up * Sat Dec 02 2023 Led <ledest@gmail.com> 0.10.0-2 - git 867ac4d * Wed Nov 17 2021 Led <ledest@gmail.com> 0.10.0-1 - 0.10.0 - enable %%check * Mon Nov 09 2020 Led <ledest@gmail.com> 0.9.0-5 - git cf56aa1 * Tue Jul 02 2019 Led <ledest@gmail.com> 0.9.0-4 - disable %%check * Tue Jul 02 2019 Led <ledest@gmail.com> 0.9.0-3 - relax %%check * Mon Mar 25 2019 Led <ledest@gmail.com> 0.9.0-2 - add {new, true} to edoc_opts - update BuildRequires * Fri Feb 22 2019 Led <ledest@gmail.com> 0.9.0-1 - 0.9.0 - add patches: + jobs-0.9.0-stacktrace.patch - enable %%check * Sat Dec 02 2017 Led <ledest@gmail.com> 0.7.1-1 - initial build
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor