Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can we make roco asynchronous and api friendly? #8

Open
qfox opened this issue Apr 7, 2014 · 7 comments
Open

Can we make roco asynchronous and api friendly? #8

qfox opened this issue Apr 7, 2014 · 7 comments

Comments

@qfox
Copy link

qfox commented Apr 7, 2014

A lot of existsSync, readFileSync, readDirSync calls exists at the moment.
process.exit buried deep in code — it should be moved out to bin/roco imho.
https://github.com/1602/roco/blob/master/lib/rockout.js#L300

I'm really like how it looks but need async and more configs, e.g. pass writable streams to catch remote output, make a prefix with time, disable (or overwrite) string colorize methods, etc.
Can we do something with it?

@1602
Copy link
Owner

1602 commented Apr 8, 2014

It's a command line tool for deploying. It should be as simple as possible, imho.

@1602 1602 closed this as completed Apr 8, 2014
@1602 1602 reopened this Apr 8, 2014
@qfox
Copy link
Author

qfox commented Apr 8, 2014

Sure it's command line but why not to expose api? Btw async execution will allow to run commands synchronously on several hosts at the same moment. Especially it will be useful when execution takes a lot of time. Tests, builds, etc.

@qfox
Copy link
Author

qfox commented Apr 8, 2014

Okay, seems like capistrano have almost the same behaviour. So probably you're totally right.
But anyway I need almost the same functionality which roco have so I will try split up deploy library and command line caller. If you want to clean up roco I can try to make a version of roco on it.

@1602
Copy link
Owner

1602 commented Apr 9, 2014

Carry on :)

@qfox qfox mentioned this issue Aug 1, 2014
@qfox
Copy link
Author

qfox commented Aug 1, 2014

Sorry for delay. I'm stuck in tests month ago and just want now to publish some work I've done on it.

@qfox
Copy link
Author

qfox commented Aug 1, 2014

@randunel please also take a look if you are interested in roco.

@randunel
Copy link

randunel commented Aug 8, 2014

Well, it seems to me you're looking for capistrano indeed. I believe roco uses synchronous calls because it started as a fast/easy prototype, and this project is still in prototype stage, in spite of its age.

If you need writable streams, you might find adding ssh2 to roco useful and reusing its connections, instead of spawning a new ssh process for every command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants