mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
fn: pre-fork pool for namespace/network speedup (#874)
* fn: pre-fork pool experimental implementation
This commit is contained in:
@@ -129,7 +129,10 @@ func createAgent(da DataAccess, withDocker bool) Agent {
|
||||
var driver drivers.Driver
|
||||
if withDocker {
|
||||
driver = docker.NewDocker(drivers.Config{
|
||||
ServerVersion: cfg.MinDockerVersion,
|
||||
ServerVersion: cfg.MinDockerVersion,
|
||||
PreForkPoolSize: cfg.PreForkPoolSize,
|
||||
PreForkImage: cfg.PreForkImage,
|
||||
PreForkCmd: cfg.PreForkCmd,
|
||||
})
|
||||
} else {
|
||||
driver = mock.New()
|
||||
@@ -154,12 +157,16 @@ func (a *agent) Enqueue(ctx context.Context, call *models.Call) error {
|
||||
}
|
||||
|
||||
func (a *agent) Close() error {
|
||||
var err error
|
||||
a.shutonce.Do(func() {
|
||||
if a.driver != nil {
|
||||
err = a.driver.Close()
|
||||
}
|
||||
close(a.shutdown)
|
||||
})
|
||||
|
||||
a.wg.Wait()
|
||||
return nil
|
||||
return err
|
||||
}
|
||||
|
||||
func (a *agent) Submit(callI Call) error {
|
||||
|
||||
Reference in New Issue
Block a user