5 Replies Latest reply on Jun 11, 2007 8:42 AM by Ronald van Kuijk

    Why are there no task queues?

    Edward Staub Expert

      Every other workflow system I've worked with has had a Queue domain object, which is a persistent named repository for tasks. They are used in both push and pull assignment models, and provide a point of control and extensibility to address specific task-management needs.

      Actor pools are not the same, because they are per-task-instance. For example, if a group of people pull tasks from a common task pool fed by multiple inputs, there's no way, beyond modifying the individual task-instances and driving process definitions, to, say, replace Huey and Dewey with Mickey and Minnie when Huey and Dewey fly south for the winter.

      Am I missing something?

      -Ed Staub

        • 1. Re: Why are there no task queues?
          Ronald van Kuijk Master

          an actor can be just an Id to a real group as well. You do not need to put every individual member of a real group into the pooled actor-id's. That way it is not per task. But you resolve membership of users in advance.

          • 2. Re: Why are there no task queues?
            Edward Staub Expert

            Ronald,

            Yes...
            I know that you can implement queues as actors. But having a common queue abstraction in the engine provides a useful place to hang assignment and assignment-management behavior.

            Actor pools could also be implemented outside of the engine. But they were deemed useful enough to incorporate.

            It just seems really strange to me to implement actor pools but not queues, and I was looking for insight into what the motivations might be. I guess it's probably an accident of the history of requirements encountered for this particular engine.

            -Ed

            • 3. Re: Why are there no task queues?
              Ronald van Kuijk Master

              Ed,

              I know that you can implement queues as actors. But having a common queue abstraction in the engine provides a useful place to hang assignment and assignment-management behavior.


              Please enlighten me some more on this... I (and it's probably me being ....whatever) that I do not get the point. Queue == tasklist imo.


              Actor pools could also be implemented outside of the engine. But they were deemed useful enough to incorporate.

              Purely for demo/development purposes. It should become easier to have this pluggable and have your own external userdatabase with groups/roles/...


              • 4. Re: Why are there no task queues?
                Edward Staub Expert

                Ronald,

                Please enlighten me some more on this... I (and it's probably me being ....whatever) that I do not get the point. Queue == tasklist imo.


                I'd say that the kind of named queue I'm talking about is a subclass of actor, but that's probably quibbling - I think I understand what you're saying.

                I need to ponder some more.

                -Ed Staub


                • 5. Re: Why are there no task queues?
                  Ronald van Kuijk Master

                  What would be a nice feature though is to have the option to get a tasklist with only specific tasks (grouped by name, priority, or whatever). The filters in the console already support this, but maybe a treelist kind of view would be a nice enhancement. That is what (if I remember correctly) is done in staffware/tibco as well. Not sure if we can use this without violating any patents :-(