[ 
https://issues.apache.org/jira/browse/COUCHDB-1165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13033571#comment-13033571
 ] 

Paul Joseph Davis commented on COUCHDB-1165:
--------------------------------------------

This won't make 1.1 as its already been branched. Though I wouldn't wait too 
long to take a crack at it because I might get bored and write it. :D

> Allow CouchDB-managed OS daemons to include information in _active_tasks
> ------------------------------------------------------------------------
>
>                 Key: COUCHDB-1165
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1165
>             Project: CouchDB
>          Issue Type: New Feature
>          Components: Database Core, HTTP Interface
>            Reporter: Gabor Ratky
>            Priority: Minor
>
> The new Externals API coupled with the HTTP Proxying enables powerful 
> background data processing scenarios, similar to the replication and 
> compaction API's in the core CouchDB API. The Replication API returns a JSON 
> structure that includes information about the replication that has completed 
> but progress information is also available through _active_tasks and thus, 
> Futon.
> An OS daemon that handles proxied requests to perform data processing tasks 
> can also reply with information about a completed request but has no way 
> other than ["log", DMESG] to communicate progress and append to the CouchDB 
> log, similar how view checkpointing is included in the CouchDB log.
> The suggested JSON commands supported by the Externals API would allow a 
> daemon to register a long-running tasks, report completion progress and 
> status and signal when the long running task completes.
> While I am not intimately familiar with the inner workings of _active_tasks 
> and {couch_httpd_misc_handlers, handle_task_status_req}, the following API 
> would work (suggestions welcome!):
> Register a new active task:
> ["task", { "id":"import:foo.csv", "type": "File Import", "task":"foo.csv", 
> "status": "Imported 0 of 360,410 bytes (0%)" }]
> Report progress (same structure as registering a new active task):
> ["task", { "id":"import:foo.csv", "type": "File Import", "task":"foo.csv", 
> "status": "Imported 150,428 of 360,410 bytes (41%)" }]
> Register task completion:
> ["task", {"id":"import:foo.csv", complete: true}]
> Of course, id could be a number id that uniquely identifies the process 
> itself. Currently, active tasks include the "pid" of the process that 
> performs the task. 
> It would be lovely to see this functionality in 1.2 and I will have time to 
> work on this in the 1.2 timeframe so if there are no objections and everyone 
> agrees on a meaningful command structure, I can work on the patch.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to