-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22224/#review44728
-----------------------------------------------------------



src/Makefile.am
<https://reviews.apache.org/r/22224/#comment79199>

    we already use "launcher" in containerizer. can we use some other name for 
this to avoid confusion? how about operator? or command?



src/launcher/launcher.hpp
<https://reviews.apache.org/r/22224/#comment79203>

    I think "Command" reads better here than "Operation"? e.g: subprocess 
executes a command.



src/launcher/launcher.hpp
<https://reviews.apache.org/r/22224/#comment79200>

    s/returned integer/return value/



src/launcher/launcher.hpp
<https://reviews.apache.org/r/22224/#comment79202>

    s/Syntax/Syntactic/
    
    Also, can you give an example on how this can be used?



src/launcher/launcher.hpp
<https://reviews.apache.org/r/22224/#comment79204>

    s/TestOperation/ShellOperation/
    
    or
    
    s/TestOperation/ShellCommand/



src/launcher/launcher.cpp
<https://reviews.apache.org/r/22224/#comment79205>

    s/tools/operations/



src/launcher/launcher.cpp
<https://reviews.apache.org/r/22224/#comment79207>

    const?



src/launcher/launcher.cpp
<https://reviews.apache.org/r/22224/#comment79219>

    from the environment and command line right?
    
    the flags are set in the environment afaict. what other flags are expected 
on the command line?



src/tests/launcher_tests.cpp
<https://reviews.apache.org/r/22224/#comment79209>

    do the users even need to know the path of the "mesos-launcher"? why can't 
"operation" figure that out because it is always the same?


- Vinod Kone


On June 3, 2014, 11:46 p.m., Jie Yu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/22224/
> -----------------------------------------------------------
> 
> (Updated June 3, 2014, 11:46 p.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, Ian Downes, and Vinod Kone.
> 
> 
> Bugs: MESOS-1446
>     https://issues.apache.org/jira/browse/MESOS-1446
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Currently, whenever we want something to be executed in a subprocess, we 
> create a separate binary (e.g., mesos-fetcher, mesos-executor, mesos-usage, 
> etc.). This has several drawbacks:
> 
> 1) Code duplication (passing arguments, main function, etc.)
> 2) Split logic into multiple files (not good for readability)
> 
> To solve that, I created a generic 'launcher' for 'Operation's. Users can 
> define their own 'Operation' and 'launch' it in a subprocess. For instance:
> 
> class CustomizedOperation : public Operation
> {
> public:
>   class Flags : public flags::FlagsBase
>   {
>     Flags();
>     Option<string> arg1;
>     Option<int> arg2;
>   };
> 
> protected:
>   virtual string name() const { return "customized_operation"; }
> 
>   virtual int execute()
>   {
>     if (arg1.isNone()) { return 1; }
>     if (arg2.isNone()) { return 1; }
> 
>     do_something(arg1.get(), arg2.get());
>   }
> };
> 
> In your code, if you want to execute 'CustomizedOperation' in a subprocess, 
> you can just launch it:
> 
> CustomizedOperation operation;
> operation.flags.arg1 = "arg1";
> operation.flags.arg2 = "arg2";
> 
> operation.launch(flags.launcher_dir + "/mesos-launcher");
> 
> We will handle the flags passing and parsing for you under the hood.
> 
> 
> Diffs
> -----
> 
>   src/Makefile.am ffde59b 
>   src/launcher/launcher.hpp PRE-CREATION 
>   src/launcher/launcher.cpp PRE-CREATION 
>   src/launcher/main.cpp PRE-CREATION 
>   src/tests/launcher_tests.cpp PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/22224/diff/
> 
> 
> Testing
> -------
> 
> make check
> 
> 
> Thanks,
> 
> Jie Yu
> 
>

Reply via email to