Invoke Provider.Run in lc.OnStart
License: MIT Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
Łukasz Magiera committed
Apr 8, 2019 at 15:46 UTC
803512e46cc451c54d3a710d7471402d8aa0d5d2
2 files changed
+11
-2
core/node/groups.go
-1
@@ -71,7 +71,6 @@ var Providers = fx.Options(
71
fx.Provide(ReproviderCtor),
72
73
fx.Invoke(Reprovider),
74
- fx.Invoke(provider.Provider.Run),
74
)
75
76
func Online(cfg *BuildCfg) fx.Option {
core/node/provider.go
+11
-1
@@ -1,6 +1,7 @@
1
package node
2
3
import (
4
+ "context"
5
"fmt"
6
"time"
7
@@ -22,7 +23,16 @@ func ProviderQueue(mctx MetricsCtx, lc fx.Lifecycle, repo repo.Repo) (*provider.
23
}
24
25
func ProviderCtor(mctx MetricsCtx, lc fx.Lifecycle, queue *provider.Queue, rt routing.IpfsRouting) provider.Provider {
25
- return provider.NewProvider(lifecycleCtx(mctx, lc), queue, rt)
26
+ p := provider.NewProvider(lifecycleCtx(mctx, lc), queue, rt)
27
+
28
+ lc.Append(fx.Hook{
29
+ OnStart: func(ctx context.Context) error {
30
+ p.Run()
31
+ return nil
32
+ },
33
+ })
34
+
35
+ return p
36
}
37
38
func ReproviderCtor(mctx MetricsCtx, lc fx.Lifecycle, cfg *config.Config, bs BaseBlocks, ds format.DAGService, pinning pin.Pinner, rt routing.IpfsRouting) (*reprovide.Reprovider, error) {