pub struct PipelineExecutor<R: CommandRunner> {
pub runner: Arc<R>,
pub github: Arc<GhClient<R>>,
pub issues: Arc<dyn IssueProvider>,
pub db: Arc<Mutex<Connection>>,
pub config: Config,
pub cancel_token: CancellationToken,
pub repo_dir: PathBuf,
}Expand description
Runs a single issue through the full pipeline.
Fields§
§runner: Arc<R>§github: Arc<GhClient<R>>§issues: Arc<dyn IssueProvider>§db: Arc<Mutex<Connection>>§config: Config§cancel_token: CancellationToken§repo_dir: PathBufImplementations§
Source§impl<R: CommandRunner + 'static> PipelineExecutor<R>
impl<R: CommandRunner + 'static> PipelineExecutor<R>
Sourcepub async fn run_issue(
&self,
issue: &PipelineIssue,
auto_merge: bool,
) -> Result<()>
pub async fn run_issue( &self, issue: &PipelineIssue, auto_merge: bool, ) -> Result<()>
Run the full pipeline for a single issue.
Sourcepub async fn run_issue_with_complexity(
&self,
issue: &PipelineIssue,
auto_merge: bool,
complexity: Option<Complexity>,
) -> Result<()>
pub async fn run_issue_with_complexity( &self, issue: &PipelineIssue, auto_merge: bool, complexity: Option<Complexity>, ) -> Result<()>
Run the full pipeline for a single issue with an optional complexity classification.
Sourcepub async fn plan_issues(
&self,
issues: &[PipelineIssue],
in_flight: &[InFlightIssue],
) -> Option<PlannerOutput>
pub async fn plan_issues( &self, issues: &[PipelineIssue], in_flight: &[InFlightIssue], ) -> Option<PlannerOutput>
Invoke the planner agent to decide batching and complexity for a set of issues.
in_flight describes issues currently running through the pipeline so the planner
can avoid scheduling conflicting work in batch 1.
Returns None if the planner fails or returns unparseable output (fallback to default).
Auto Trait Implementations§
impl<R> Freeze for PipelineExecutor<R>
impl<R> !RefUnwindSafe for PipelineExecutor<R>
impl<R> Send for PipelineExecutor<R>
impl<R> Sync for PipelineExecutor<R>
impl<R> Unpin for PipelineExecutor<R>
impl<R> UnsafeUnpin for PipelineExecutor<R>
impl<R> !UnwindSafe for PipelineExecutor<R>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more