Opened 6 years ago

Closed 5 years ago

#7852 closed defect (implemented)

Implement OONI task scheduler

Reported by: aagbsn Owned by: hellais
Priority: Medium Milestone:
Component: Archived/Ooni Version:
Severity: Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

OONI's current task dispatch methods should be replaced with a task scheduler that has the following properties:

scheduler should be able to maintain a constant size set of running tasks, and should not block on any single task.
scheduler should provide mechanisms for starting, stopping, restarting, resuming, and cancelling tasks.
scheduler should support changing the number of running tasks at runtime.
scheduler should be able to set hard limits on the time a task may take to complete.

The twisted framework provides some handy tools, see:
twisted.internet.task.Cooperator and CooperativeTask (http://twistedmatrix.com/documents/current/api/twisted.internet.task.html)

Also see examples such as txRDQ (Resizable Dispatch Queue): https://launchpad.net/txrdq

Child Tickets

TicketStatusOwnerSummaryComponent
#7914closedhellaisWrite unittests for MeasurementsManagerArchived/Ooni
#7915closedhellaisWrite unittests for OManagerArchived/Ooni
#7916closedhellaisAdd reporting logic to OManagerArchived/Ooni
#7917closedhellaisAdd ReportingManagerArchived/Ooni

Change History (1)

comment:1 Changed 5 years ago by hellais

Resolution: implemented
Status: newclosed

This has been implemented.

Note: See TracTickets for help on using tickets.