All Projects → BackburnerJS → Backburner.js

BackburnerJS / Backburner.js

Licence: mit
A rewrite of the Ember.js run loop as a generic microlibrary

Programming Languages

typescript
32286 projects

Labels

Projects that are alternatives of or similar to Backburner.js

kafka-message-scheduler
Scheduler for delayed messages to Kafka topics
Stars: ✭ 22 (-94.37%)
Mutual labels:  scheduler
Ftpgrab
Grab your files periodically from a remote FTP or SFTP server easily
Stars: ✭ 300 (-23.27%)
Mutual labels:  scheduler
Sparklens
Qubole Sparklens tool for performance tuning Apache Spark
Stars: ✭ 345 (-11.76%)
Mutual labels:  scheduler
josk
🏃🤖 Scheduler and manager for jobs and tasks in node.js on multi-server and clusters setup
Stars: ✭ 27 (-93.09%)
Mutual labels:  scheduler
Dagster
An orchestration platform for the development, production, and observation of data assets.
Stars: ✭ 4,099 (+948.34%)
Mutual labels:  scheduler
Cook
Fair job scheduler on Kubernetes and Mesos for batch workloads and Spark
Stars: ✭ 314 (-19.69%)
Mutual labels:  scheduler
WSPRBeacon
Arduino Firmware for the Zachtek WSPR Desktop Transmitter. Coordinated global WSPR transmissions for synchronized weak signal Beacon operation.
Stars: ✭ 18 (-95.4%)
Mutual labels:  scheduler
Db Scheduler
Persistent cluster-friendly scheduler for Java
Stars: ✭ 352 (-9.97%)
Mutual labels:  scheduler
Docker Airflow
Docker Apache Airflow
Stars: ✭ 3,375 (+763.17%)
Mutual labels:  scheduler
Meeting For Good
A meeting coordination app for your team
Stars: ✭ 339 (-13.3%)
Mutual labels:  scheduler
Ej2 Javascript Ui Controls
Syncfusion JavaScript UI controls library offer more than 50+ cross-browser, responsive, and lightweight HTML5 UI controls for building modern web applications.
Stars: ✭ 256 (-34.53%)
Mutual labels:  scheduler
Redisson
Redisson - Redis Java client with features of In-Memory Data Grid. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, MyBatis, RPC, local cache ...
Stars: ✭ 17,972 (+4496.42%)
Mutual labels:  scheduler
Xxl Job
A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
Stars: ✭ 20,197 (+5065.47%)
Mutual labels:  scheduler
mentos
Fresh Python Mesos Scheduler and Executor driver
Stars: ✭ 18 (-95.4%)
Mutual labels:  scheduler
Concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
Stars: ✭ 340 (-13.04%)
Mutual labels:  scheduler
yerbie
A blazing fast job queue built for ease of use and scalability
Stars: ✭ 16 (-95.91%)
Mutual labels:  scheduler
Weave
A state-of-the-art multithreading runtime: message-passing based, fast, scalable, ultra-low overhead
Stars: ✭ 305 (-21.99%)
Mutual labels:  scheduler
Wedatasphere
WeDataSphere is a financial level one-stop open-source suitcase for big data platforms. Currently the source code of Scriptis and Linkis has already been released to the open-source community. WeDataSphere, Big Data Made Easy!
Stars: ✭ 372 (-4.86%)
Mutual labels:  scheduler
React Timeline Gantt
A react Timeline component with virtual rendering
Stars: ✭ 347 (-11.25%)
Mutual labels:  scheduler
Gocron
定时任务管理系统
Stars: ✭ 4,198 (+973.66%)
Mutual labels:  scheduler

backburner.js Build Status

A rewrite of the Ember.js run loop as a generic microlibrary.

TL;DR

A priority queue that will efficiently batch, order, reorder and process work; done via scheduling work on specific queues.

Downloads

API

Constructor

Constructor Description
new Backburner() instantiate a Backburner instance with an array of queue names

Instance methods

Method Description
Backburner#run execute the passed function and flush any deferred actions
Backburner#defer defer the passed function to run inside the specified queue
Backburner#deferOnce defer the passed function to run inside the specified queue, only execute it once
Backburner#setTimeout execute the passed function in a specified amount of time
Backburner#debounce execute the passed function in a specified amount of time, reset timer upon additional calls
Backburner#throttle rate-limit the passed function for a specified amount of time
Backburner#cancel cancel a deferOnce, setTimeout, debounce or throttle
Backburner#on Add an event callback. Supports the following events:
  • begin - Fires whenever the runloop begins. Callbacks are passed the current instance and the previous instance.
  • end - Fires whenever the runloop ends. Callbacks are passed the current instance and the next instance.
Backburner#off Removes an event callback
Backburner#join Join the passed method with an existing queue and execute immediately, if there isn't one use Backburner#run
Backburner#getDebugInfo Returns debug information for counters, timers and queues, which includes surfacing the stack trace information for the respective calls

Alias

Alias Description
Backburner#schedule same as defer
Backburner#scheduleOnce same as deferOnce
Backburner#later same as setTimeout

Example usage

The following code will only cause a single DOM manipulation:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Backburner demo</title>
  </head>

  <body>
    <div id="name"></div>

    <script type="module">
      import Backburner from './dist/es6/backburner.js'

      var backburner = new Backburner(['render']),
        person = {name: 'Erik'};

      function updateName() {
        document.querySelector('#name').innerHTML = person.name;
      }

      function setName(name) {
        person.name = name;
        backburner.deferOnce('render', updateName);
      }

      backburner.run(function() {
        setName('Kris');
        setName('Tom');
        setName('Yehuda');
      });
    </script>
  </body>
</html>
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].