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

Benoit Tellier commented on JAMES-4042:
---------------------------------------

Thanks for the pointer, I forgot about that.

I did a quick code review...

The additional information logic is there (great), cancellation also seems like 
it would work (future is recorded into SerialTaskManagerWorker::runningTasks), 
termination signalling is done too (SerialTaskManagerWorker::runTask).

Do you confirm? I would likely contribute some more tests onto AsyncTasks 
handling before pushing this further...

Also, I do not like the idea to encode the knowlege of "how a task should be 
run" into it's type system. This makes it hard to do this conditionnally. Maybe 
making this a method of the Task interface (defaulting to synchronous) would 
allow to make this a task parameter and yield a greater freedom?

> Task manager: issues with long tasks
> ------------------------------------
>
>                 Key: JAMES-4042
>                 URL: https://issues.apache.org/jira/browse/JAMES-4042
>             Project: James Server
>          Issue Type: Improvement
>          Components: rabbitmq, task
>    Affects Versions: master, 3.8.2
>            Reporter: Benoit Tellier
>            Priority: Major
>
> See JAMES-3955
> Today a tasks per default obey a 1 day consumer timeout (configurable!)
> Yet, we might have some tasks like deduplication that might take longer than 
> a day to complete...
> As of today tihis means such a task would complete but very likely crash the 
> consumer.
> Likely, getting such long jobs in the first place might not be the best idea.
> Things like deduplication could be packaged in separate binaries that one 
> could run independently of James thus avoiding the issue altogether... We 
> could allow this as an alternative way to run such long tasks.
> Moreover, I think if needed we could write a Proof Of Concept of running the 
> GC on top of something like Apache Spark to leverage parallele computations.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to