Skip to content

Commit

Permalink
Multiple text workers is now possible
Browse files Browse the repository at this point in the history
  • Loading branch information
dex3r committed Aug 29, 2024
1 parent 8aa9ecd commit ad685fa
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,19 @@ public class AphroditeController

public string WorkingDirectory => "/worker";

private readonly UserConfigManager _userConfigManager;
private readonly Instance _instance;
private readonly TextWorkerConfigManager _textWorkerConfigManager;
private readonly ILogger<AphroditeController> _logger;
private Process? _aphroditeProcess;

private readonly string _address = "http://localhost:2242";

public AphroditeController(Instance instance,
public AphroditeController(UserConfigManager userConfigManager,Instance instance,
TextWorkerConfigManager textWorkerConfigManager, ILogger<AphroditeController> logger)
{
_userConfigManager = userConfigManager;
_instance = instance;
_textWorkerConfigManager = textWorkerConfigManager;
_logger = logger;
}
Expand Down Expand Up @@ -89,6 +93,9 @@ private async Task StartAphroditeInternal()
string ModelName = textWorkerConfig.model_name;
string HuggingFaceToken = textWorkerConfig.hugging_face_token;
string gpu_utilization = textWorkerConfig.gpu_utilization.ToString(CultureInfo.InvariantCulture).Replace(",", ".");

string devicesString = _instance.Config.Devices.Trim();
string instanceName = _instance.GetUniqueInstanceName(await _userConfigManager.LoadConfig());

Process? process = Process.Start(new ProcessStartInfo
{
Expand All @@ -102,6 +109,10 @@ private async Task StartAphroditeInternal()
RedirectStandardError = true,
//UseShellExecute = false,
WorkingDirectory = WorkingDirectory,
Environment =
{
{"CUDA_VISIBLE_DEVICES", devicesString}
}
});

if (process == null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

namespace AipgOmniworker.OmniController;

public class GridWorkerController(Instance instance, ILogger<GridWorkerController> logger)
public class GridWorkerController(Instance instance, ILogger<GridWorkerController> logger, UserConfigManager userConfigManager)
{
public List<string> GridTextWorkerOutput { get; private set; } = new();

Expand Down Expand Up @@ -42,6 +42,9 @@ public async Task StartGridTextWorker(CancellationToken cancellationToken)
private async Task StartGridTextWorkerInternal()
{
PrintGridTextWorkerOutput("Starting grid text worker...");

string devicesString = instance.Config.Devices.Trim();
string instanceName = instance.GetUniqueInstanceName(await userConfigManager.LoadConfig());

await Task.Delay(200);

Expand All @@ -50,11 +53,16 @@ private async Task StartGridTextWorkerInternal()
//FileName = "/usr/bin/python3",
//Arguments = "-s bridge_scribe.py",
FileName = "/worker/run-worker.sh",
Arguments = $"-n {instanceName}",
RedirectStandardOutput = true,
RedirectStandardError = true,
//UseShellExecute = false,
WorkingDirectory = WorkingDirectory,
Environment = { { "DISABLE_TERMINAL_UI", "true" } }
Environment =
{
{ "DISABLE_TERMINAL_UI", "true" },
{ "CUDA_VISIBLE_DEVICES", devicesString }
}
});

if (process == null)
Expand Down
2 changes: 1 addition & 1 deletion grid-text-worker

0 comments on commit ad685fa

Please sign in to comment.