zenaton / zenaton-ruby Goto Github PK
View Code? Open in Web Editor NEW๐ Ruby gem to run and orchestrate background jobs with Zenaton Workflow Engine
Home Page: https://zenaton.com
License: MIT License
๐ Ruby gem to run and orchestrate background jobs with Zenaton Workflow Engine
Home Page: https://zenaton.com
License: MIT License
Currently, it's possible to do it by using rails runner
The serializer in ruby converts symbols to strings because symbols are ruby specific and cannot be represented in json.
For details have a look here => zenaton/zenaton-php#15
To be clear, the test should be that the class is used within a workflow - NOT that it is processed by an agent. So locally executing a workflow is still perfectly fine.
A specific Zenaton error should be thrown and documented.
Expected behavior of execute
method does make sense only within a workflow.
To be clear, the test should be that the method is used within a workflow - NOT that it is processed by an agent. So locally executing a workflow is still perfectly fine.
A specific Zenaton error should be thrown and documented.
There is one invalid @return
value in the existing docs and some methods are undocumented (mostly from the refinements PR)
โ yard doc
[warn]: Invalid tag format for @return in file `lib/zenaton/traits/with_timestamp.rb` near line 28
Files: 36
Modules: 12 ( 0 undocumented)
Classes: 36 ( 0 undocumented)
Constants: 38 ( 0 undocumented)
Attributes: 7 ( 0 undocumented)
Methods: 67 ( 13 undocumented)
91.88% documented
As a user of this gem
When my workflow is dispatched (vs executed) and I have properties that are hashes with atoms as keys
Then I expect to still be able to access this hash using atoms
As known for some times, the when subclassing and Event class, the child Event is not handled properly by Zenaton changes has to be done, in coordination between the engine, agent and client libraries.
For more details please check:
zenaton/rfcs#19
eg with the workflow id:
[email protected] the kill does not work.
per the discussion with @geomagilles:
if we are on Monday, 11am on the 23rd of the month. Then:
.Monday(1) should wait until next Monday at 11am
.Monday(1).At("9") should wait until next Monday at 9am
.Monday(1).At("13") should wait 2 hours only
.DayOfMonth(23) should wait for one month
.DayOfMonth(23).At("13") should wait for only 2 hours
Currently, if today is a Monday, when calling Zenaton::Tasks::Wait.new.monday
you don't actually wait until the next Monday, and the wait terminates immediately.
We have the same issue with the dayOfMonth
method. If it's the 23rd and you call Zenaton::Tasks::Wait.new.day_of_month(23)
you won't wait until the next month, but instead the wait will terminate immediately.
Specifically, I believe the two problematic lines are these:
(note: I don't actually understand the ruby in the second link here, so I cannot confirm if the ruby library has the problem with weekdays that the other libraries do)
See zenaton/zenaton-go#7 for the fix in the go library.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.