quantopian / coal-mine Goto Github PK
View Code? Open in Web Editor NEWCoal Mine - Periodic task execution monitor
License: Apache License 2.0
Coal Mine - Periodic task execution monitor
License: Apache License 2.0
It would be nice in the CLI if it were possible to specify a "template" canary to copy the periodicity, description, email, and paused state from when creating a new canary, with any of them overridable on the command line.
Obviously, the name and id can't be copied.
I see that you have a json indent + line split hack to break the response into smaller sized chunks so that any single socket write operation doesn't overflow.
I think a better solution is to pick a reasonably safe chunk size, say 32 bytes at a time, and then just wrap the json output in a generator:
result = json.dumps(...)
def chunks(data, chunk_size=32):
for i in xrange(0, len(data), chunk_size):
yield data[i:i+chunk_size]
return chunks(result)
If a canary goes late, sends out a LATE email, and then is paused, it never sends out a followup email indicating that it has resumed when it starts reporting again and the pause is automatically cancelled. This leaves someone who is watching the state of the canary via their email notifications thinking that the canary is still late when in fact it's reporting again.
I think removing the late status from a canary when it's paused is probably the right thing to do, so I don't think it should actually send out a RESUMED email in this context; I think it would be more correct to send out a new type of notification specifically for the "paused while late" event which makes it clear that's what happened.
Noticed that you have
To Do:
...
SSL support in server
I don't think it's a good idea do SSL support in a web application because production web applications are deployed behind a reverse proxy that is optimized for SSL termination, such as Nginx.
You also want to:
Do one, simple thing well. There are several similar projects out there that do more than this project attempts to do.
therefore, I propose striking SSL termination out of the TODO section
This should be something that's deployable on Heroku.
Heroku's platform has mongodb providers and email providers, so it should be technical possible.
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.