Skip to content

BTU Road Map (Short Term) #1

@brian-pond

Description

@brian-pond
  • Create the concept of "Transient Tasks", that run exactly 1 time. This will offer an alternative to Python function 'frappe.enqueue()', with the benefits of BTU logging, email capability, and UI capability.

    • Transient Tasks will be created through Python code only; not the web UI.
    • Transient Tasks should be deleted periodically. This avoids flooding the BTU Task table with too many rows.
    • By default, do not display them on the BTU Task list page.
  • Offer an Advanced Logging option: Create 'In-Progress' Task Logs.

    • Under certain circumstances (timeouts, Linux errors) it's possible for Python RQ code to terminate early. Because of this early termination, there is no record anywhere in BTU that the Task actually started.
    • By writing a Log immediately, and giving it an 'In-Progress' status, it will be possible generate reports/alerts that show unfinished Tasks. For example, any 'In-Progress' Log document where the creation is greater than 1 hour ago.
    • When a Task finishes inside Python RQ, instead of creating a new Log document, it should update the existing one and change the status from 'In-Progress' to either 'Success' or 'Fail'
  • Add a button that creates built-in "maintenance" Tasks, that help BTU manage itself.

    • Example: A Task that emails System Managers when a Task dies inside Python RQ, based on 'In-Progress' logs.
    • Example: A Task that periodically deletes old Transient Tasks.
    • Example: Email a Daily Summary report, showing info like Task Schedules, last execution time, last result, next execution time.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions