Tasks in progress are the sum of downloading, downloaded, running, suspended, uploading, and ready-to-report tasks.
When downloading, downloaded, and running tasks together are 1000 or more, the standard client does not request any more new tasks. Further, when one or more task of a project is suspended, the client does not request new tasks for this project. If a certain number of tasks are uploading to a project, the client does not request new tasks of this project either. If the client requests new work, it will also report any ready-to-report tasks, and so these ones are no longer in progress.
The upshot of all this is, a host with a standard client won't have much more than 1000 tasks of one and the same project in progress.
Exception: If there are failures in communication, particularly
- server considers work requests complete, client considers same requests failed,
- client considers reports of results complete, server considers same reports failed,
then the database at the server will hold more tasks in progress on that host than this host actually has in progress.
The above mentioned limit in the client which stops it from requesting work after it collected 1000 runnable tasks can be lifted by building a client from modified source code.
— The upshot: 2335 tasks in progress (on one host at one project) is really unusual and won't normally happen.