@casesolved-co-uk Short answer: The repo @JoEz created (that I linked in my last reply) was “partially” integrated into Frappe Framework.
Explanation:
Frappe took certain pieces/ideas from Giovanni’s repo (but not all). Then created the 'Scheduled Job Type' DocType and scheduling solution that we’re using today in v13.
Scheduled Job Types are using Python RQ for queues and workers.
Unlike Giovanni’s solution, the schedules are hard-coded in hooks.py, using either cron syntax, or schedule syntax.
Frappe does not use rq-scheduler. Instead, it has its own scheduler app.
Aside / Fun Fact:
After my post last August, I spent a lot of time learning about Giovanni’s (very clever) 2017 solution, RQ, task schedulers, pickle, and more. I desperately needed a robust scheduler for ERPNext: Scheduled Job Types were not nearly sufficient.
I eventually decided to create a successor to his original work. Along the way, I ran into other challenges with stability. So wrote my own version of ‘rq-scheduler’ too, starting almost from scratch.
My efforts concluded last month (January 2022). My job scheduling solution is 98% finished, and currently being Beta tested. Once I’m confident it’s ready, and I’ve published all the online documentation (Installation, Configuration, Troubleshooting)? Then my intent has been to announce and share this bolt-on scheduling solution with the Frappe/ERPNext Community.
Perhaps in another 2-4 weeks? I really want solid documentation available, so people aren’t struggling to understand and leverage what I’ve built. But this is a busy month/quarter for me.
Ah @brian_pond, this would be such a great addition. I cannot wait to hear from you again regarding it’s release. In anticipation, thanks so much for the contribution.
I’m now ready to help people with Background Tasks Unleashed (BTU), a task scheduling App for Frappe Framework.
First, you’re welcome to join me on my forums, to discuss the tool and your experiences. I’ll support you as best I can: https://forums.datahenge.com. This thread here provides some nice screenshots of the tool.
Next, the actual tool consists of 2 separate, open source GitHub repositories:
Both are required. However, after installation and configuration, the scheduling daemon is meant to be “hands-off.” You always interact with the App in your web browser. There are 4 main DocTypes.
Official Documentation is a GitHub Pages site. The source is just markdown documents, located in the ‘docs’ subfolder of the main GitHub repo here.
If you’re unable to chat on the forums, or prefer a private chat, just email me: brian@datahenge.com
I still need to write a lot more documentation/tutorials. Tie up some loose ends. I’m sure someone will want a binary daemon compatible with other Linux distributions, such as CentOS/RedHat.
But, it’s now “good enough” to start sharing with others in the community. One of my clients has been using in Production for over 2 months, running a dozen Tasks, and thousands of Sub Tasks every day.