tydeno / Ploto

A Windows PowerShell based Chia Plotting Manager. Lets you automatically spawn and move plots. Sends you notifications on the go.
MIT License
32 stars 5 forks source link

Disk Space for out drive? #70

Closed Yamanipanuchi closed 3 years ago

Yamanipanuchi commented 3 years ago

I couldn't see if it was in there. The script makes sure there with 107gb free before spawning a plot. But does it take in consideration of existing plots already in process?

Or explained another way, If the script sees another space for a new plot does it take in consideration of the other plots already in process? Maybe have 3 plots already going and 350g free. But once those other three complete there will no longer be enough space for that forth plot.

KillaDreams commented 3 years ago

No it does not I had a plot error which wouldn't transfer and had to manually copy it to another out drive then change the name and then delete the job for it to clear the error and free up a job

tydeno commented 3 years ago

Yes it is aware about other jobs. It calculates how many plots a disk can hold based on how many there are in progress on that same disk. Excempt from Get-PlotoOutDrives:


$activeJobs = Get-PlotoJobs | Where-Object {$_.OutDrive -eq $drive.DeviceId} | Where-Object {$_.Status -ne "Completed"}

        if ($activeJobs)
            {
                $HasPlotInProgress = $true
                $PlotInProgressName = $activeJobs.PlotId
                $PlotInProgressCount = $activeJobs.count
                $PlotInProgressPhase = $activeJobs.Status

                $AmountOfPlotsinProgressOccupied = [math]::Floor(($PlotInProgressCount * 107))
                $AvailableAmounToPlot = [math]::Floor(($DiskSize - $AmountOfPlotsinProgressOccupied) / 107)
                $AmountOfPlotsToTempMax = $AvailableAmounToPlot + $PlotInProgressCount
                }
        if ($AvailableAmounToPlot -ge 1)
            {
                $IsPlottable = $true
            }
        else
            {
                $IsPlottable = $false
            }

And then when we grab the Outdrive. Excempt from Invoke-PlotoJob

$PlottableOutDrives = Get-PlotoOutDrives -OutDriveDenom $OutDriveDenom | Where-Object {$_.IsPlottable -eq $true}
$OutDrive = $PlottableOutDrives | Where-Object { $_.AmountOfPlotsInProgress -eq $min}

@KillaDreams Thats interesting. What version are you running currently?