An error occurred fetching the project authors.
  1. 18 Jan, 2019 2 commits
  2. 23 Feb, 2018 1 commit
  3. 06 May, 2015 1 commit
    • Julien Muchembled's avatar
      CMFActivity: in case of ConflictError, retry earlier than for other failures · 30fbdd3d
      Julien Muchembled authored
      This tweaks retry delays as follows (seconds):
      
              ConflictError  other failures (K = 1 + retry², with retry >= 0)
      before     30             15 * K
      after      15             30 * K
      
      Today, bigger delays in case of errors should not be an issue because the
      quality of ERP5 has improved a lot and normal code should not rely anymore on
      this.
      
      We also don't want to lower ConflictError delay too much, because this
      increase the probability of conflicts.
      
      This will be required to improve invokeGroup, in case that a message fails.
      We'd like that:
      - successful messages are retried immediately
      - skipped messages are retried next, and separately
      - at last, failed messages are retried, also separately
      30fbdd3d
  4. 27 Mar, 2015 1 commit
    • Julien Muchembled's avatar
      CMFActivity: automatic migration of queues and removal of button to recreate tables · 3d644bde
      Julien Muchembled authored
      The action to recreate activity tables while preserving existing messages
      was unsafe for 2 reasons:
      - if any error happened, messages could be lost
      - it relied on Message.reactivate
      
      Which this patch, any instance created after commit d881edd1 (Aug 2010) will
      upgrade successfully. For older instances, make sure you have no activity left.
      
      For cases where 'ALTER TABLE' would not work, a better way to implement repair
      functionality would be:
      - one action to backup all messages in ZODB
      - and another to restore them
      And maybe a security so that during the backup-clear-restore sequence,
      activities can't be created nor processed.
      
      If any column is added in the future, it would still be possible to write code
      that fills them by inspecting messages.
      3d644bde
  5. 25 Mar, 2015 1 commit
  6. 04 Sep, 2014 1 commit
  7. 14 Aug, 2013 2 commits
  8. 11 Jun, 2013 1 commit
  9. 22 Apr, 2013 1 commit
  10. 06 Apr, 2012 1 commit
  11. 28 Dec, 2011 2 commits
  12. 23 Dec, 2011 1 commit
  13. 17 Oct, 2011 1 commit
    • Julien Muchembled's avatar
      Drop support for Zope 2.8 · 48212534
      Julien Muchembled authored
      Checked following occurrences in comments:
      - "Python 2.[456]"
      - "Zope 2.[891]"
      - "BBB"
      - "BACK"
      
      Checked uses of:
      - email, hashlib, numpy & tarfile (modules)
      - ImportError
      - string.Template
      - suppress_events (parameter of _setObject)
      
      Excluded:
      - some forked modules (MailTemplates, PortalTransforms...)
      - some i18n compatibility code
      48212534
  14. 12 Jan, 2011 1 commit
  15. 03 Jan, 2011 1 commit
  16. 04 Nov, 2010 1 commit
  17. 20 Jul, 2010 1 commit
  18. 19 Feb, 2008 1 commit
  19. 23 Nov, 2007 1 commit
    • 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
  20. 07 Nov, 2007 3 commits
  21. 18 May, 2007 1 commit
  22. 11 Apr, 2007 1 commit
    • Yoshinori Okuji's avatar
      This big change optimizes the scheduling of active objects, · 1c300e5c
      Yoshinori Okuji authored
      and fix some bugs.
      
      The basic idea is to track a dependency graph to find executable
      messages quickly. This makes the activity system far more efficient,
      when you have many inter-dependent messages queued in the tables.
      
      Also, this obsoletes the time shifting in the schedulers,
      as executable messages can be found in a more efficient manner.
      So the activity parameter "at_date" should work expectedly.
      
      Now the API of validate methods in Activities return a
      list of message objects instead of a boolean value. Such
      a list contains messages that are depended upon by a given
      message.
      
      The validate method in Message accepts a new optional
      parameter, check_order_validation, to indicate whether
      order validation should be performed. The default behavior
      has not changed.
      
      getDependentMessageList is added to ActivityTool, Queue
      and Message. This method collects dependent message for
      a given message from all activities.
      
      There are some other subtle changes. Look at the diffs for
      more details.
      
      
      git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@14039 20353a03-c40f-0410-a6d1-a30d3c3de9de
      1c300e5c
  23. 02 Mar, 2007 3 commits
  24. 20 Nov, 2006 1 commit
  25. 19 Nov, 2006 1 commit
  26. 23 Jun, 2006 1 commit
  27. 25 Mar, 2006 1 commit
  28. 22 Feb, 2006 1 commit
  29. 06 Nov, 2005 1 commit
  30. 28 Oct, 2005 1 commit
  31. 14 Jun, 2005 1 commit
  32. 28 Jul, 2004 1 commit
  33. 25 Jul, 2004 1 commit