• Sebastien Robin's avatar
    Commit work done by Vincent · e2ff442c
    Sebastien Robin authored
      Make ActivityTool:Message.getObjectList simple to use: detect internaly 
    wether an expand method must be called, catch exception when object on which 
    the activity was executed cannot be found.
      Remove broadcast message support.
      Merge indexes on processing_node and processing columns on both message and 
    message_queue tables.
      Always use SQL server's time.
      Do not update processing node value when setting the message as being 
    processed.
      Commit SQL connection as soon as messages get assigned to reduce lock 
    duration.
      Make SQLDict ZSQLMethods support list of uids instead of single value per 
    call.
      Make ZSQLMethod handle processing_node differently if it's 0 or None (when 
    not passed as parameter, behave as if it's None).
      Do not force all parameters to be passed to SQLQueue_setPriority.
      Factorise SQL code inside <dtml-if> blocks.
      Allow to select ranges of lines in readMessageList with a custom offset.
      When reseting message processing state at first activity execution pass 
    after a node start, also reset the processing_node.
      Commit SQL connection as soon as messages are set to processing state, 
    mainly to make it visible outside current connection.
      Add a common class for SQL-using activity queues.
      CMFActivity/Activity/SQLDict.py
        Remove unused (and broken) prepareQueueMessage method.
        Replace a tab by spaces.
        Add ZSQLMethod wrappers for new ZSQLMethods.
        Split dequeueMessage into dequeueMessage, getProcessableMessageList, 
    finalizeMessage_Execution.
        Return True instead of 0 in case of an important error, in order to 
    prevent CMFActivity from doing infinite loops  over dequeueMessage when 
    something goes wrong.
      CMFActivity/Activity/Queue.py
        Allow caller to specify the current date and transmit it when recursing. 
    Fallback on DateTime (calculate just once) if not specified.
      CMFActivity/Activity/SQLQueue.py
        Precompute parameters in prepareQueueMessage to make it easier to add a 
    log when needed. Also reduces the distance with SQLDict's equivalent method.
        Add ZSQLMethod wrappers for new ZSQLMethods.
        Split dequeueMessage into dequeueMessage, getProcessableMessageList, 
    finalizeMessage_Execution.
        Return True instead of 0 in case of an important error, in order to 
    prevent CMFActivity from doing infinite loops  over dequeueMessage when 
    something goes wrong.
      Add scripts to monitor activity distribution.  
      Remove unused ZSQLMethods.
      Add new ZSQLMethods related to the new distribution scheme and SQL server 
    time grabbing.
    
    
    git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@17759 20353a03-c40f-0410-a6d1-a30d3c3de9de
    e2ff442c
SQLQueue.py 23 KB