Making things simpler...
Change Log for
Stepper
1.5.0
- The location of the config module is now configurable rather
than being fixed to Products.Stepper.config
- Updated winrun.bat to show how to set things up for Zope 2.10
- The 'chains' and 'prepare' attributes of the config module
are now optional
- Added a crude notion of sub-steps that can be instantiated
and executed from other steps
- Added Stepper.utilities module that contained helpers to stop
transaction commit if errors have been logged
- Added utility Execute step for traversing to and calling
objects to Stepper.base
- Added utility step for packing the zodb to Stepper.base
- Fix broken continue_on_error functionality, including logging
on errors during processing of an itemc
- Fixed some typos
1.4.1
- Corrected a typo in a logging call in execute.py
- Fix passing to tuples to the execute method since the
introduction of nexted chains.
- Transactions are now only aborted if commit is enabled.
- The step name is now logged when an error occurs.
- Logging to the console is now quieter when -q is used with
Zope 2.8.
- Fixed a bug in conflict error handling that meant write
conflicts resulted in an error rather than being retried when
-r is used.
- Stepper is no longer left locked when conflict errors occur.
1.4.0
- Chains may now be nested inside other chains.
- Estimated Time of Arrival feedback now includes the total
number of items to process and the number of items processed
so far.
- If a transaction is not committed, it is now explicitly
aborted to avoid situations where you think a transaction is
being committed, but if it is, it's not because you asked it
to be ;-)
- Fixed a critical bug in run.py that would have prevented it
executing.
- Added a continue_on_error override parameter to the execute
method so that errors aren't inadvertantly caught during unit
testing.
1.3.0
- Added support for locking Stepper runs in case a cron job
triggers off a run before the previous one had finished.
- Added safeguards to make sure commit_obj is specified when it
needs to be.
- Made --help more helpful!
- The time taken for a step to complete is now logged
regardless of whether -q is passed.
- Introduced Zope 2.8 compatability.
- Refactored and simplified winrun.py
- Added the step name to the progress bar and reformatted it
slightly.
- support for getSequence returning a Python generator.
- Clarified the role of the do_commit parameter to the execute
method.
- Added support for keyboard interruption of a Stepper run
- Fixed missing import in base.py
1.2.0
- Added a hook for returning the represenation of an object for
logging when an error occurs while processing that object.
- Added a class-attribute to Step that controls whether an
error while processing an object in a sequence stops the rest
of the sequence being processed.
- Removed the -C option from run.py
- Added a Workflow migrator to base.py to help with migrating
workflows in CMF-like sites.
- Changed the Delete step in base.py to only log errors when an
item to be deleted is not found, rather than crashing out.
- ZODB transactions are now aborted when handling exceptions
and conflict errors.
- Exceptions raised before logging is set up, and so can be
reported by logging, are no longer caught and so will be seen
in standard error ouput.
- Fixed a NameError on 'elapsed' by including a back-stop elapsed
definition for when getSequence returns nothing.
1.1.0
- Added option to allow processing of the rest of a sequence to
continue should an error occur processing one item in the
sequence.
- Added logging to say how long processing took in quiet mode
- fixed bug in run.py that meant it was "quiet" by default and
became "loud" when -q was used.
- remove debugging print statements from run.py
- Added a post-execution hook to steps called 'finalise'
- Fixed the test step in test.py and make it more flexible
- Fixed the Delete step in base.py
- Fixed several typos in base.py
1.0.0
- Initial release.
Copyright 2003-2008, Simplistix Ltd.