<img src="./logo.png" height="70px" align="left" />

# Quirrel

---

🎉 Quirrel joins Netlify. [Learn more](https://dev.to/quirrel/quirrel-is-acquired-and-i-am-joining-netlify-dha) 🎉

---

![CI](https://github.com/quirrel-dev/quirrel/workflows/CI/badge.svg)
[![Coverage Status](https://coveralls.io/repos/github/quirrel-dev/quirrel/badge.svg?branch=main)](https://coveralls.io/github/quirrel-dev/quirrel?branch=main)
[![Better Uptime Badge](https://betteruptime.com/status-badges/v1/monitor/4u38.svg)](https://status.quirrel.dev)
[![Twitter Follow](https://img.shields.io/twitter/follow/skn0tt?label=Stay%20updated&style=social)](https://twitter.com/skn0tt)

<p align="middle">
  The Task Queueing Solution for Serverless.
</p>

- [Landing Page](https://quirrel.dev)
- [Documentation](https://docs.quirrel.dev)

Quirrel makes job queueing simple as cake. It supports delayed jobs, fanout jobs, recurring jobs and CRON jobs.

Quirrel values ...

- great DX (through [tailormade client libraries](https://docs.quirrel.dev/api/queue) & the [development UI](https://docs.quirrel.dev/getting-started/next-js#meet-the-development-ui))
- privacy (through end-to-end encryption)
- free software (it's MIT licensed!)
- easy setup (through [hosted offering](https://quirrel.dev) and easy on-prem)

## Getting Started

If you want to learn about Quirrel, check out [the tutorial](https://dev.to/quirrel/building-a-water-drinking-reminder-with-next-js-and-quirrel-1ckj)!

If you want to integrate Quirrel into an existing application, check out the [Getting Started Guide](https://docs.quirrel.dev).

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tbody>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/Skn0tt"><img src="https://avatars.githubusercontent.com/u/14912729?v=4?s=100" width="100px;" alt="Simon Knott"/><br /><sub><b>Simon Knott</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/commits?author=Skn0tt" title="Code">💻</a> <a href="#ideas-Skn0tt" title="Ideas, Planning, & Feedback">🤔</a> <a href="#content-Skn0tt" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/batteredgherkin"><img src="https://avatars.githubusercontent.com/u/45402110?v=4?s=100" width="100px;" alt="batteredgherkin"/><br /><sub><b>batteredgherkin</b></sub></a><br /><a href="#design-batteredgherkin" title="Design">🎨</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://aalaap.com"><img src="https://avatars.githubusercontent.com/u/79404?v=4?s=100" width="100px;" alt="Aalaap Ghag"/><br /><sub><b>Aalaap Ghag</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/commits?author=aalaap" title="Documentation">📖</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://producthunt.com/@twmatthieuh"><img src="https://avatars.githubusercontent.com/u/1550192?v=4?s=100" width="100px;" alt="Matthieu Hostache"/><br /><sub><b>Matthieu Hostache</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/issues?q=author%3Amatthieuh" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://aditsachde.com"><img src="https://avatars.githubusercontent.com/u/23707194?v=4?s=100" width="100px;" alt="Adit Sachde"/><br /><sub><b>Adit Sachde</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/commits?author=aditsachde" title="Documentation">📖</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/viperfx"><img src="https://avatars.githubusercontent.com/u/328257?v=4?s=100" width="100px;" alt="Tharshan Muthulingam"/><br /><sub><b>Tharshan Muthulingam</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/issues?q=author%3Aviperfx" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://0xflotus.github.io"><img src="https://avatars.githubusercontent.com/u/26602940?v=4?s=100" width="100px;" alt="0xflotus"/><br /><sub><b>0xflotus</b></sub></a><br /><a href="#content-0xflotus" title="Content">🖋</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://lopermo.com"><img src="https://avatars.githubusercontent.com/u/11388254?v=4?s=100" width="100px;" alt="Guillermo López"/><br /><sub><b>Guillermo López</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/commits?author=lopermo" title="Documentation">📖</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/zyulyaev"><img src="https://avatars.githubusercontent.com/u/9340671?v=4?s=100" width="100px;" alt="Nikita Zyulyaev"/><br /><sub><b>Nikita Zyulyaev</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/issues?q=author%3Azyulyaev" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/davidsoderberg"><img src="https://avatars.githubusercontent.com/u/2233092?v=4?s=100" width="100px;" alt="David Söderberg"/><br /><sub><b>David Söderberg</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/commits?author=davidsoderberg" title="Documentation">📖</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://babas.bot/"><img src="https://avatars.githubusercontent.com/u/764518?v=4?s=100" width="100px;" alt="Luis Alfredo Lorenzo"/><br /><sub><b>Luis Alfredo Lorenzo</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/commits?author=babasbot" title="Documentation">📖</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://twitter.com/scttcper"><img src="https://avatars.githubusercontent.com/u/1400464?v=4?s=100" width="100px;" alt="Scott Cooper"/><br /><sub><b>Scott Cooper</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/commits?author=scttcper" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/fiddep"><img src="https://avatars.githubusercontent.com/u/12913309?v=4?s=100" width="100px;" alt="Fredrik Palmquist"/><br /><sub><b>Fredrik Palmquist</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/issues?q=author%3Afiddep" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://alizahid.dev"><img src="https://avatars.githubusercontent.com/u/941775?v=4?s=100" width="100px;" alt="Ali Zahid"/><br /><sub><b>Ali Zahid</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/commits?author=alizahid" title="Code">💻</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://codedrift.com"><img src="https://avatars.githubusercontent.com/u/1795?v=4?s=100" width="100px;" alt="Jakob Heuser"/><br /><sub><b>Jakob Heuser</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/commits?author=jakobo" title="Code">💻</a> <a href="https://github.com/quirrel-dev/quirrel/issues?q=author%3Ajakobo" title="Bug reports">🐛</a> <a href="#design-jakobo" title="Design">🎨</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://www.mokhtar.dev"><img src="https://avatars.githubusercontent.com/u/13026820?v=4?s=100" width="100px;" alt="Mokhtar"/><br /><sub><b>Mokhtar</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/commits?author=m5r" title="Documentation">📖</a> <a href="https://github.com/quirrel-dev/quirrel/commits?author=m5r" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/leo-guinan"><img src="https://avatars.githubusercontent.com/u/1247152?v=4?s=100" width="100px;" alt="Leo Guinan"/><br /><sub><b>Leo Guinan</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/issues?q=author%3Aleo-guinan" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://rainbow.me/brenner.eth"><img src="https://avatars.githubusercontent.com/u/12127609?v=4?s=100" width="100px;" alt="Brenner Spear"/><br /><sub><b>Brenner Spear</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/commits?author=BrennerSpear" title="Documentation">📖</a> <a href="https://github.com/quirrel-dev/quirrel/issues?q=author%3ABrennerSpear" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://jonas-strassel.de/"><img src="https://avatars.githubusercontent.com/u/4662748?v=4?s=100" width="100px;" alt="Jonas Strassel"/><br /><sub><b>Jonas Strassel</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/commits?author=boredland" title="Code">💻</a> <a href="https://github.com/quirrel-dev/quirrel/issues?q=author%3Aboredland" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://1000experiments.dev"><img src="https://avatars.githubusercontent.com/u/4437?v=4?s=100" width="100px;" alt="Joshua Nussbaum"/><br /><sub><b>Joshua Nussbaum</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/commits?author=joshnuss" title="Code">💻</a> <a href="https://github.com/quirrel-dev/quirrel/commits?author=joshnuss" title="Documentation">📖</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://mr47.in"><img src="https://avatars.githubusercontent.com/u/651943?v=4?s=100" width="100px;" alt="Dmitry Poddubniy"/><br /><sub><b>Dmitry Poddubniy</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/issues?q=author%3Amr47" title="Bug reports">🐛</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/JonathonRP"><img src="https://avatars.githubusercontent.com/u/30267655?v=4?s=100" width="100px;" alt="Jonathon Reese Perry"/><br /><sub><b>Jonathon Reese Perry</b></sub></a><br /><a href="https://github.com/quirrel-dev/quirrel/issues?q=author%3AJonathonRP" title="Bug reports">🐛</a></td>
    </tr>
  </tbody>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
