Skip to content

Commit bb7c7b4

Browse files
committed
Remove isolates from the analyzer service.
1 parent c04e483 commit bb7c7b4

File tree

2 files changed

+9
-46
lines changed

2 files changed

+9
-46
lines changed

app/lib/search/backend.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ class SearchBackend {
9696
///
9797
/// When other process has the claim, the loop waits a minute before
9898
/// attempting to get the claim.
99-
Future<Never> updateSnapshotInForeverLoop() async {
99+
Future<void> updateSnapshotInForeverLoop() async {
100100
final lock = GlobalLock.create(
101101
'$runtimeVersion/search/update-snapshot',
102102
expiration: Duration(minutes: 20),

app/lib/service/entrypoint/analyzer.dart

Lines changed: 8 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import '../../task/backend.dart';
1919
import '../../tool/neat_task/pub_dev_tasks.dart';
2020

2121
import '../download_counts/backend.dart';
22-
import '_isolate.dart';
2322

2423
final Logger logger = Logger('pub.analyzer');
2524

@@ -34,56 +33,20 @@ class AnalyzerCommand extends Command {
3433
Future<void> run() async {
3534
envConfig.checkServiceEnvironment(name);
3635
await withServices(() async {
37-
final worker =
38-
await startWorkerIsolate(logger: logger, entryPoint: _workerMain);
39-
registerScopeExitCallback(worker.close);
36+
await downloadCountsBackend.start();
37+
await taskBackend.start();
38+
registerScopeExitCallback(() => taskBackend.stop());
4039

41-
final indexBuilder = await startWorkerIsolate(
42-
logger: logger,
43-
entryPoint: _indexBuilderMain,
44-
kind: 'index-builder',
45-
);
46-
registerScopeExitCallback(indexBuilder.close);
40+
setupPeriodTaskSchedulers();
41+
// TODO: rewrite this loop to have a start/stop logic
42+
scheduleMicrotask(searchBackend.updateSnapshotInForeverLoop);
4743

4844
if (activeConfiguration.exportedApiBucketName != null) {
49-
final apiExporterIsolate = await startWorkerIsolate(
50-
logger: logger,
51-
entryPoint: _apiExporterMain,
52-
kind: 'api-exporter',
53-
);
54-
registerScopeExitCallback(apiExporterIsolate.close);
45+
await apiExporter!.start();
46+
registerScopeExitCallback(() => apiExporter!.stop());
5547
}
5648

5749
await runHandler(logger, analyzerServiceHandler);
5850
});
5951
}
6052
}
61-
62-
Future _workerMain(EntryMessage message) async {
63-
message.protocolSendPort.send(ReadyMessage());
64-
65-
await downloadCountsBackend.start();
66-
await taskBackend.start();
67-
registerScopeExitCallback(() => taskBackend.stop());
68-
69-
setupPeriodTaskSchedulers();
70-
71-
// wait indefinitely
72-
await Completer().future;
73-
}
74-
75-
Future _indexBuilderMain(EntryMessage message) async {
76-
message.protocolSendPort.send(ReadyMessage());
77-
await downloadCountsBackend.start();
78-
await searchBackend.updateSnapshotInForeverLoop();
79-
}
80-
81-
Future _apiExporterMain(EntryMessage message) async {
82-
message.protocolSendPort.send(ReadyMessage());
83-
await downloadCountsBackend.start();
84-
await apiExporter!.start();
85-
registerScopeExitCallback(() => apiExporter!.stop());
86-
87-
// wait indefinitely
88-
await Completer().future;
89-
}

0 commit comments

Comments
 (0)